Removed support for zero arg callbacks and simplified the deferred implementation