Abstract the Channel to an interface.
Updated readme