Get a :class:`Scrim` instance. Each instance is cached so if you call
    get_scrim again with the same arguments you get the same instance.

    See also:
        :class:`Scrim`

def get_scrim(path=None, auto_write=None, shell=None, script=None, cache={}):
    '''Get a :class:`Scrim` instance. Each instance is cached so if you call
    get_scrim again with the same arguments you get the same instance.

    See also:
        :class:`Scrim`
    '''

    args = (path, auto_write, shell, script)
    if args not in cache:
        cache[args] = Scrim(*args)
    return cache[args]