Dynamic method execution is the strong feature of Cocoa runtime environment.
NSInvocation allows users to execute method dynamically using selector and
method signature on the fly.
In short you can pass method string to the selector and create invocation out of
it on the fly. You do not even need