Converted to using NSInvocation rather than a variable block, much cleaner API.
Small cleanup