A message queue abstraction library