This interface XenForo_ContentPermission_Interface, appears to be rather incomplete. It has a single method, but every implementation needs to implement similar functions to the existing node implementation. For example, getContentPermissionDetails is assumed to exist on an XenForo_ContentPermission_Interface instance in the permission analysis code. Additionally in XenForo_ControllerAdmin_Permission::_getPermissionAnalysisTypeData, this method looks up the permission content handler, and then generates some analysis info. This is the sort of thing which should be pushed into the XenForo_ContentPermission_Interface if possible. Perhaps the XenForo_ContentPermission_Interface should also participate when actionAnalyze() needs to gather requirements for selecting the content id? :edit: This may belong under suggestions to be honest.