Using performSelector instead of casting