As discussed on IRC, it is better to have one simple PermissionGroup class having "type {External, Internal}" property