WIP for initial XHR and model expectations

@jahfer this is mostly pseudocode I wrote at the airport but here's what I was thinking for some better abstractions in the test suite