In my case I need to perform different actions for cancel and done completion blocks. It could be simply implemented if your libary had one block for 2 actions with variable "isCancelled" or "isSuccess" or if there were 2 separate blocks for actions.
Instead your library has doneHandler and dismissHandler. In case of cancel dismissHandler is called only, in case of done they are both called and I need somehow to check if "dismiss" is called separately or immediately after "done"