`struct Engine` needs a serialization and deserialization support. This could be dumped to file on exit, and restored during next run.