GObject based framework for real-time collaborative editing of documents