Minimal message passing protocol in objective-c