ValueInteractor

A ValueInteractor
object allows multiple influences
to act on the same
piece of data without overwriting the effects of each other. By
simply allocating and initializing them with their initializers they
attach themselves to the data that you provide. Each
ValueInteractor object keeps a kind of pseudo history of its
interaction
with the data and will change the data according to the deltas of where
it thinks it should be at instead of just setting the data to the
value. This allows other ValueInteractor objects to affect the
data without interfering and being interfered with. The
responsibility for them is held by the allocater instead of the system
unlike Timers and EventReceptors which are tied to the existence of the
objects that they interact with. Their spec and usage are
currently in flux right now.