Add concept of Calendars. Calendars have a polymorphic relationship with Groups and Users. A User has one Calendar, and a Group has one Calendar, but they are never the same Calendar. Calendars are created whenever a User or a Group are created. They are attached to their owner on creation.