Refactor event processing features into separate subsystem

Description

Event processing features such as inbound/outbound processing strategy and inbound/outbound event processing chains are spread over many parts of the system. They should be aggregated into a single subsystem like the communication subsystem for better organization. This will also allow the event processing features to be started/stopped/configured as a whole rather than piecemeal.