When you run the constructor, Mojo connects to Jojo, downloads the script index,and caches that data. If you run `get_script`, the data will be returned fromthis cache without consulting the server. Pass `use_cache=False` to force aconnection to the server. When you call `reload()`, this cache is refreshed.

You can run `__get_scripts()` manually if you like. Doing so will get you adictionary of scripts, but it will not update the cache.

When you call `get_script` with `use_cache=False`, a successful script retrievalwill cause the Mojo's cache to be updated with that data.

## Extending Mojo

Pyjojo is merely a remote script execution engine, and is meant to be extendedto meet the needs of its users. As-is, Pymojo can act on any custom scripts ona Jojo server, but the specifics of a Jojo deployment can be easily wrapped upin a class that inherits a Mojo.

Realistically, you'll use Jojo for things like remote service control orsoftware deployments, but for the sake of example, let's say our Jojo serveronly knows how to execute one script, `echo.sh`, which looks like this:

Simply put, it takes the same Jojo configuration options that Mojo takes,and then passes them on to the superconstructor. The `echo` function passesdata through the superclass's `run` function and passes the result back up.