[ADAM-372][ADAM-371][ADAM-365] Refactoring CLI to simplify and integrate with Spark model better

Possibly ready for merge