simple mixins to enable any object to be able to emit arbitrary objects