cleanup: simplify channel classes