basic event model with spec
expand event with validations and test for these.