As far as I am aware, none of our commands take arguments.
As an example, for our ball pickup, we have four separate commands:
- BallPickupForward()
- BallPickupReverse()
- BallPickupStop()
- ControlIntakeMotor()
ControlIntakeMotor() reads the joystick and selects the appropriate command of the other three. (It would probably have been better named something like BallPickupOperate()).