Add draft for queue registration and data types

This is still very much a work in progress, but the fact that it type
checks makes me happy. The hardest part won't be wrapping HTTP requests,
but wrapping callback calling when events come-in.

I honestly need to have this reviewed before that, just to be sure.
There also aren't any tests, which is something that makes me really
nervous.