initial take on the event structure
added support for commands to act with multiple receivers