Extracted DeviceEvent interface, added private event field
CommandDevice support for multiple (named) arguments in CommandMethods, DeviceEventBus will not propagate private events from other regions
Rounded out the list of device states