replaced unbounded channel by class of channels to permit any kind of
channel
class definition and some implementations for channels
put some strictness inside and introduced Channel class to bound
the response channel in order to minimise the memory consumption