Change IFK channels to be buffered and fix a huge bug with awaiting a handler