Currently, the UI is set up to prompt for [Enter] whenever a method returns false, and to restart the main loop whenever a method returns successfully. This is a bad pattern because functions in the controller have to have multiple return types. They must either return the requested data, or return False.
A better pattern would be to return the requested data, or to raise an error. This solves the issue of having multiple return types.
The UI could then be responsible for catching specific exceptions and handling them appropriately.
Currently, the UI is set up to prompt for [Enter] whenever a method returns false, and to restart the main loop whenever a method returns successfully. This is a bad pattern because functions in the controller have to have multiple return types. They must either return the requested data, or return False.
A better pattern would be to return the requested data, or to raise an error. This solves the issue of having multiple return types.
The UI could then be responsible for catching specific exceptions and handling them appropriately.