Removed excess parenthesis.
Added convenience methods for passing in some context in the block to be executed and handling the memory management.