Make a class for the shell
Define the built in command signatures
Setup the internal commands map
Forget about passing input to a shell object
Execute internal commands