UI Integration

The rewrite reimplemented the user interface and thoroughly integrated them with the backend classes, reducing the need to pass data back and forth between separate classes.