Add interface to class-level receiver
Merge branch 'decomposed_events' into staging