Inside the setController:forSlide you add an observer for "parentViewController" to run some final code.
This is unreliable because if IIViewDeckController is assigned to the rootViewController property of a window it will never fire as it is always nil.
No really a problem since the blocks will be run anyway when viewWillAppear is called. Whichever comes first runs the blocks.
I've modified the code a bit to unobserve the parentViewController in finishTransitionBlocks.
Didn't realize they would fire on viewWillAppear but good to clean up the observers!