it's good for blocking handlers, but not async ones. I have some not-public code that shows another way to handle it, but in my code I: * decode the header, get the key + seq_no * have a big match statement on the keys * delegate to async functions, or spawn tasks