Using ```void setParent(model::Account & parent)``` is not a good option, given that a reference created on stack can be passed to method, so when the caller leaves the context that object will be removed.

I liked the idea of the utility methods, but to me the method ```unsetParent()``` should only call ```unregisterFromCurrentParent()``` not ```setParent(NULL)```.

Also, was left a unused ```using ChangeType = opencash::model::ObservableModel::ChangeType;``` in the method ```setParent```