- add future models
- add some documentation
- add PublishEventModel