In the last month, several new controllers and simulators have been introduced. We should rethink the abstract method to contain all the needed methods.