Changed over to separate classes for commands and events.