Refactor TransefProtocol classes