WIP

* remove ad-hoc code
* create UpdateChecker model
* ensure all branches are possible
* don’t use rewire
honestly, requiring later is really an anti-pattern. I would prefer to basically special case it for things we need better handle on for testing and if it is costly for first app boot.