def call(self, args, **kwargs):
        """
        A thin wrapper around ``subprocess.Popen``.  Takes the same
        options as ``subprocess.Popen``, with the exception of the
        ``cwd``, and ``env`` parameters, which come from the
        ``Environment`` instance.  Note that if the sole positional
        argument is a string, it will be converted into a sequence
        using the ``shlex.split()`` function.
        """

        # Convert string args into a sequence
        if isinstance(args, six.string_types):
            args = shlex.split(args)

        # Substitute cwd and env
        kwargs['cwd'] = self._cwd
        kwargs['env'] = self._data

        # Set a default for close_fds
        kwargs.setdefault('close_fds', True)

        return subprocess.Popen(args, **kwargs)