Fix empty model

sets the model conditionally early in the instance properties, then passes it directly to reactive. imho it's better this way and it doesn't diverge from what reactive has.

side-note: this branches from the fix-construct-event branch because they were conflicting. if you decide you need both then you probably only need to pull this one, but unfortunately not only this one ;)