Deferrable Gratification (DG) makes evented code less error-prone and easier to compose, and thus easier to create higher-level abstractions around. It also enhances the API offered by Ruby Deferrables to make them more pleasant to work with. Currently consists of the following components: * fluent (aka chainable) syntax for registering multiple callbacks and errbacks to the same Deferrable. * a #bothback method for registering code to run on either success or failure. * a combinator library for building up complex asynchronous operations out of simpler ones.