[WIP] [DO_NOT_MERGE]: introducing osc (end-user CLI)

If formatting needs to know about --raw it should be initialized after flags are parsed.  We are going to stop doing static dependencies and start doing real dependency injection.  So if formatting is an interface, the thing that creates it has to happen after arguments are parsed but before that interface is passed to a command.