Lightweight, scoped eventing framework for Objective-c (and other languages)