Fixed bad name EventBatch -> EventEncoder
Extracted [Caching]EventBatch as top level type
- Split remainder into separate files
- made naming more consistent across gateways