Message queueing framework