start refactoring Protocol/Carrier private classes into public parts