Initial work

Do we want to allow consumers? I'm not sure this is going to work well, as discussed previously (messages delivered asynchronously)