def perform_preflight_check(self):
        """Performs checks to see if we have everything needed to mount
        sshfs filesystems.
        :return: two-tuple (boolean checks_pass, list failure messages)
        """
        failures = []
        if not os.access(self.mount_path_base, os.W_OK):
            msg = ("Mount path `{path}` doesn't exist or is not writable"
                   " by the current user.")
            failures.append(msg.format(
                path = self.mount_path_base
            ))
        if which('sshfs') is None:
            msg = ("SSHFS (http://fuse.sourceforge.net/sshfs.html)"
                   " does not seem to be installed.")
            failures.append(msg)

        return len(failures) == 0, failures