simulator: moved control to its own class