Add Permission\* classes
Update Core API to use PermissionSet