Get rid of potential leak warning by using NSInvocation.

Should probably add a method to use a block.