Add a public mechanism for creating promises.