Right now, the code is a bit tangled between the PySide part and the actual manipulation of the notes. It would be great to separate them as much as possible, so as to wrap the back-end into a python module, which could be used independently - for instance, as a Django app.
For this to happen, we need to define exactly what the API should do: should it store the tags, for instance?
More or less, the noteorganiser/text_processing.py already encompasses some of it, but some is also spread in noteorganiser/frames.py.