Refactoring of tools for dealing with User input.

Should be a better structure now. Mocking still produces expected results. Next step is to fill in the blanks... 

Signed-off-by: parhamfh <parhamfh@kth.se>