add get()
set default state to 'awaiting'
add support for returning values within a deferred
deps
support writing to un-needed deferreds