exposed-promises Tiny library for creating promises that can be resolved outside the Promise constructor