public function grant($owner, $repo, $account, $privilege)
    {
        if (!in_array($privilege, array('read', 'write', 'admin'))) {
            throw new \InvalidArgumentException("Invalid privilege provided.");
        }

        return $this->requestPut(
            sprintf('privileges/%s/%s/%s', $owner, $repo, $account),
            $privilege
        );
    }