Currently, both the Controller and TelnetConnection try to take new deltas and apply them to produce a whole picture. I propose the following new process:
Controller gets a (non-class) function apply_delta(delta, current). This takes the latest delta and the current understanding of the world and applies the latest delta to it, and returns the new current. This will be held by Controller in it's cache dictionary. This will force the application of an entire world state on each tick, meaning that no info would ever be lost!
Well, building the list works now, but it doesn't seem to update properly.
I think that sounds like a good solution. Was there a reason we had delta building split out?