Cast instead of using performSelector