feat(models): initial event module