@WorkerThread
    public static Console getConsole() throws ShellNotFoundException {
      if (console == null || console.isClosed()) {
        synchronized (SH.class) {
          if (console == null || console.isClosed()) {
            console = new Console.Builder().useSH().setWatchdogTimeout(30).build();
          }
        }
      }
      return console;
    }
<p>The {@link Console} is used to keep the shell open for long periods of time so a new shell does not need to
be created each time you run a command. Because this shell remains open, any commands sent to execute on it may
need to wait for previous commands to finish. If you need to execute long running commands consider building
your own interactive shell using {@link Builder} or {@link Console.Builder}.</p>

@return The {@link Console} instance for running commands in a normal shell.
@throws ShellNotFoundException
imitate/src/main/java/com/engineer/imitate/shell/Shell.java