Pass arguments to EngineParts in constructors, not in separate methods