PistonEngine class has grown an "Engine" superclass. Some other stuff moved around too, and I cleaned up some property naming while I was in there. This hasn't been tested very thorougly, hopefully I didn't break anything.