Use @protocol with @optional along with naming conventions. Also, use "callbackXxxYyy" convention instead of "callback_xxxYyy"