Delay adding the view until after the appearance calls

Otherwise viewWillAppear: viewDidAppear: get called (with animated
set to NO) for some reason, and this triggers the "unbalanced calls
to appearance methods" warnings. I can only reproduce this when
the controller is nested in another compose controller.
NSTimeInterval isn't a float, but a double
No need to call loadView directly

We read self.view right after that.
Use a strong property for future-proofing

It doesn't really matter since it's readonly, but if we ever make
it readwrite in the implementation, we would need to change it to
strong in the interface as well.
Added completion blocks to present/dismiss
Improve the documentation formatting
String fixes