Retrieve all Steam WebAPI http methods and add to our class prototype
function retrieveSteamAPIMethods(key, callback) {

    var _steam = new Steam();
    _steam.getSupportedAPIList({key:key}, function(err, data) {

        if (err) return callback(err);

        var apiList = data.apilist;
        if (apiList === undefined) return callback(new Error('No data returned'));

        apiList = apiList.interfaces;

        // List of interfaces
        for (var i= 0; i<apiList.length; i++) {
            var _interface = apiList[i];
            var methods = _interface.methods;

            // List of methods
            for (var j= 0; j<methods.length; j++) {
                var method = methods[j];
                var optionalParams = [], requiredParams = [];
                var params = method.parameters;

                //List of parameters
                for (var k=0; k<params.length; k++) {
                    var param = params[k];

                    if (param.optional) {
                        optionalParams.push(param.name);
                    } else {
                        requiredParams.push(param.name);
                    }
                }

                buildSteamWrapperMethod(_interface.name, method.name, method.version, method.httpmethod, requiredParams, optionalParams);
            }
        }
        callback();

    });
}