Meetings, Groups, Updating Objs, refactoring

I can attempt to break into multiple pull requests if required. This adds a fair bit of functionality. Let me know if there are any parts you would like changed, commented better, or find confusing.