base abstract base class for data channel