refactored setTimeout to Promise with RSVP.js polyfill