Experiment with using Promise.deferred