[Fix Cart Latency] Master Issue

Since there's a lot of work that's going to be done, I thought it would be easier to keep track of everything, plus we could use github's task feature, in a new issue

Agenda
----

* [x] Architect and spec new functionality (see #586 )
* [x] Write out tests for new and existing functionality (see #403 )
* [ ] Implement spec'd functionality
* [ ] Check all validations code and refactor/optimize as necessary (see #573)