only allow one handler function per channel