Moved Simulation::init() to Constructor, Simulation:free() to destructor and exchanged some members of Simulation with unique_ptr instances.