Refactoring Tests

Getting the core (basic) tests for the Channels working
Refactoring the Channel classes to pass the tests