refactor to allow different CPB Tranceiver implementations