Removed Synchronize, added critical section
Replaced onPublish call back with getMessage and FIFO buffer
Added getMessageAck method