Add junit as a testdep.
Give Promise a proper zero-arg constructor.

This makes it easier to customize by subclassing (yes yes, prefer composition
over inheritance, dogma dogma).