Workspaces plugin: refactoring client-side code.

These 3 aspects are separated: DB update, viewmodel update, view update.
Analogous to the Topicmaps plugin.