Implement our own terminal struct so we can handle more channel requests, and log them