Added flexible handlers.

Return type can be either void or id (or other NSObject subclass), handler can accept no params or one id (or other NSObject subclass).