An implementation of the AMP protocol in Objective-C