Engine
Sends UDP messages between the components. UDP messages contain a wrapper of the domain message (an action specification, plus payload) encoded using flat buffers. Each action should result in a response. Each action must be idempotent. Each message must include a vector clock timestamp to avoid repeated delivery and/or late messages.