Various improvements

- untangle callback into methods for better readability
- promise tree starting with delay can be now also triggered by calling
  wait or value on any of the children
- better inspectability
- track what blocks what
- better to_s and inspect support