Made a better differentiation between MessageType and ControlMessageType (more or less user or system based messages). Added caching for ControlMessage instances without content. Got rid of isReady state variable in MessageProcessor. Fixed mark documents as read function (message was not passed to processor in dispatcher). Created new message to handle fetched document metadata in new message, so we have a single-threaded modification of map again (possible multi-threading bug).