define(['bluebird'], function () {
    'use strict';
    var Promise = require('bluebird');

    function DeferredPromise() {
        var resolve, reject;
        var promise = new Promise(function() {
            resolve = arguments[0];
            reject = arguments[1];
        });
        return {
            resolve: resolve,
            reject: reject,
            promise: promise
        };
    }

    return DeferredPromise;
});
