Forgot what I did yesterday. I think I have refactored the classes and added a simulation class for testing without device.