My feelings about Spraypaint, our js ORM for the property API, can be summed up by a quote from its docs:
You may have encountered state management libraries like Flux, Redux or Vuex. These are fantastic libraries, but their usefulness is lessened with Spraypaint. As a full-fledged model layer, Spraypaint manages state for you, automatically.
Spraypaint is very powerful but wants to be more than we use it for. In order to realize the full power of spraypaint, one must adopt/hack parts of it that overlap with Mobx's responsibilities.
To explain this pain, I'll show a basic flow of using spraypaint with mobx to CRUD: