moves steps_per_rev and pins to optional constructor arguments