Use promise.rb instead of EM::Deferrable