Turns out this was actually a pretty simple fix. I didn't realize the hydrate() function had to be called in the construstor of all classes using HydrateMixin to populate the internal state storage with the latest state.
hydrate()