Massive refactoring of how permissions are handled. Much cleaner and easier to define new permissions (1 line addition vs like 6 before)