Channel is an abstract class, i.e. no instances of Channel
should exist. A Channel is a point of communication in a program, a
mailbox to/from which data enters/leaves a program. Channels are
objects through which the objects in the current processes address
space can interact with objects in another processes address space. A
channel in one process space is associated with a channel in the
address space of another process space. The interaction is in the form
of data sent between the two processes along the connection line.