Using NSInvocation and NSProxy instead of performSelector | Hacker News Reader