golang experiment for message queue abstraction