Fun on April 1st
Move most hierarchy handling into PermissionEntity, reduce a ton of code duplication (and provide better circular inheritance handling)