* Moved common visitor-related functionality to a separate module.
* DRY-ed up tests, so that parts are reusable across both flows.

[#81200736]
* Separated models into deferred- and instant-.
* DRY-ed tests around models.

[#81200736]
* VisitorsManipulator now knows which model to manipulate, and can be reused across flows.

[#81200736]
* Instant/Deferred controllers can now generically manipulate visitor data.

[#81200736]