Builds the method and add references
function buildSteamWrapperMethod(interfaceName, funcName, defaultVersion, httpMethod, requiredParams, optionalParams) {

    // Always include the key and language fields, if available
    // GetSupportedAPIList doesn't always list them.
    optionalParams.push('key');
    optionalParams.push('language');

    // Require gameid for methods with the same name in the different interfaces
    if (isMultiGameInterface(interfaceName)) {
        requiredParams.push('gameid');
    }

    var wrapperMethod = function(steamObj, callback) {
        var params = getParams(this, steamObj, requiredParams, optionalParams);
        var version = steamObj.version || defaultVersion;
        this.request(interfaceName, funcName, version, httpMethod, params, callback);
    };

    addInterfaceMethod(interfaceName, funcName, wrapperMethod);
}