Should it be .internal? The only usage for now is in GitProjectSetCapability. Yes, it has a default access level for class itself and its constructor but it would be better to express ths fact (it's for internal use and not an API) explicitly.