stricter semantics and starting to separate notifiers
changed handlers to handlerGroups
changed onResolve to onFulfill
major refactor for separating updaters and using strict semantics
garbage collection spec
minor copy edits
adding correct .then return tests