Refactored Channel class