Bugfix - make copy of context before scheduling execution.
Refactored Stabilizer to try to make it easier to understand.
Refactoring: renamed m4_extend to m4_subtype.
Seemed more intuitive
Bugfix: error in test
Refactored observer pattern.
Primary goal was to make it possible to subscribe using alternate callbacks
(as opposed to the standard "onNext", "onError", and "onCompleted").
Also tried to make some minor design improvements for intuition.
Removed PromiseListeners.
Now a MethodStream can subscribe to multiple input variable promises
itself without needing a bunch of PromiseListeners.
Name changes only
Bugfix: macro correction (forgot parentheses)
Generalizing PromiseLadder.
No longer assumes it has a system/variable; just a generic keeper/target.
Bugfix: observables iterate over a copy of subscriber list.
That way any changes to the subscriber list won't affect current iteration.
Making promises Observers in addition to Observable.
A promise observing another Observable simply passes on any events
that occur.
Changed methods to use signature string.
Methods always execute on the model.
Fixed self-loops.
Subscribes to outputs which are also used as inputs
/before/ creating new output promise for them.
Reworked asynchronous evaluation.
Now any method may simply return a promise, in which case evaluation
is suspended until the promise is fulfilled.
Logic for asynchronous execution on web workers still exists, but it
is separate from the property models.
Clean-up of ModelBuilder
Bugfix - bad variable name for error
Basic enablement working