Refactored channel interface