Adds virtual initializer for children of Engine

Allows children classes to recover from engine.Reset()