reorganizing method
call delegate callbacks and blocks and nil out blocks at correct times
precompute popped view controllers