public function label($userId, $properties, $opts = array()) {
        $this->mergeArguments($opts, array(
            'timeout' => $this->timeout,
            'version' => $this->version
        ));

        $this->validateArgument($userId, 'user id', 'string');
        $this->validateArgument($properties, 'properties', 'array');

        return $this->track('$label', $properties, array(
            'timeout' => $opts['timeout'],
            'version' => $opts['version'],
            'path' => $this->userLabelApiUrl($userId, $opts['version'])
        ));
    }