Impl CommandCache#cache_command/fetch
Assume a Runner factory
Create factory and CliOptions class
Impl CachedCommandRunner#run
Require command cache in cached command runner