Add ability for logged in users to create groups. Groups belong to a user and a user has many groups.
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.