extension points for transfer protocols and message translators
refactoring extension points using abstract class