More work to break out CLI classes; more logging; general code clean-up