Rework the project structure.

Also add exit_status as a filed in the Command class.
In the history store the command object.