Get rid of implicit digest() (see #41)

Instead wrap each promise object so the resolved value or error is exposed on the promise