Using NSInvocation and NSProxy instead of performSelector | Dark Hacker News