Define your protocol

@protocol RemotePlayer <NSObject>
- (void)play:(void (^)(NSError *error))callback;
- (void)pause:(void (^)(NSError *error))callback;
@end

Define your implementation

@interface RemotePlayerImplementation : NSObject <RemotePlayer>

Use your protocol

id<RemotePlayer> player = [RemotePlayerImplementation new];