Add Supply.Promise, channeling from jnthn++