redid program flow: Added DomainFacade, seperated WaypointController and FileController dependencies. Closes #13