In order to avoid possible SQLAlchemy locks as it seems that SQLite doesn't really well handle concurrent acces. At least for writing but we've noticed some cases where a SELECT query didn't come through because of a table locked by some other writing thread.
This data thread will listen to signals sent by the remote and local changes detection threads to update the doc pair statuses in the local storage.
Then it should send signals to the QueueManager thread to push events in the event queue.
It will listen to signals sent by the QueueProcessor thread(s) to update status for the synchronized pairs.
We can by the way simplify the model: remove useles columns, for example for server binding avoid using local_folder.