 
         path        = path.substring(1) if path[0] == "/"
         path        = [provider, path].join("/")
-        [path, params].concat(argsArray)
+        ret         = [path]
+        ret.push(params) if params?
+        ret.concat(argsArray)
 
       exec = (m)->
         method = m


        ret

      message = (params, callback, errback)->
        console.error("Api not initialized yet") unless rpc
        promise = core.data.deferred()


        promise

      ###
      # Normalizes the parameters defining a message. At this point, they can have two forms
      # * [String, ...] where the String is an uri. The request will be made to the default provider
      # * [Object, ...] where the Object describes more completely the request. It must provide a "path" key, can provide a "provider" key as well as some default parameters in the "params" key
      # In the second form, the optional params can be overridden through parameters at data.api calls
      #
      # The normalized form is the first one.
      # 
      # @param {Array} the parameters for the API calls
      # @return {Array} The normalized form of parameters
      ###
      normalizeAPIArguments = (argsArray)->
        defaultProvider = 'hull'
        description = argsArray.shift()
