Changed the drivetrain code to make it more abstract. Also made it exist.