TODO: This interface method names are not 100% settled yet
some methods should many be moved to DefaultChannel only as they are more used for testing purpose
and we should add methods to traverse the channels
and maybe a channel registry