Improve specs, abstract builder

- Improve spec coverage of Event
- Better define validations for Event
- Abstract event building (during feed execution) from the actual events
  themselves.