Refactored model objects; updated event creation