I guess the blocks-in-blocks code can get quite unreadable at times. Personally I like to store blocks in variables in such situations and add the variable to a function that required the block parameter. Makes code so much more readable when blocks are nested.