Goal: enterPressed toggles completedAt. Add guards to utils.time and utils.date helpers
Overhaul validations: create HumonValue#validateSelf, allow superclass validations, more informative validation errors. Add HumonComplex.validateSelf
Fix validation bugs for Humon.List, Humon.Complex. Rename SpSleep to Sleep so that serializers always work. Rename Sleep#outofbed_* to Sleep#up_*
Polishing goals validations
Add (unused) Humon.attr. Modify Hash.unknownProperty to allow prefacing keys with $, which attempt to get the underlying _value of a child node. Add a bunch of debug tests to Goal. Add length property to List, invalidReason to Node
Switch default semantics for Humon.Hash#unknownProperty to only retrieve childNodes if key is prefaced with $. Show that it works for template binding
Clean up and refactoring
More cleanup and refactoring
More refactoring for Node, NodeView. Add activateBoundNode helper Reset Text matchesJson behavior back to previous (and auto choose text if long string)
Add filtering to sleep serializer
Add initial version of humon_goals attribute over haul. Add existential guards calls to nodeView in to Node#invalidate, NOde#clear#invalidation
Fixing text display bug
Add baseJson to list, primitive, complex, hash. normalizeJson works for DataPoints flow page (basically, when matched is always true within normalize json)
Add valueFromJson for primitive, list, hash, complex. Add Complex.matchesJson. Overhaul Primitive#_j2hnv to allow undefined values
Fleshing out more of Humon.Goal computed attributes.
Some seriuosly complex shit
Nailed down problem to unchain error (see notes). Using goal=vf(770).get('nodeContent.nodeVal'); goal.get('_depDepProp').pushObject('asdf') we're able to get the computed properties to update
computed properties are called on goal.notifyPropertyChange(_value)
Added in the proper observer! it works
Fix other bug: computed properties cache the return value from the SETTER as well