Promises/A+ implementation for Ruby 1.9+