make sure the CounterRate machine has a position property so that users can parse and cache expressions at initialisation time
started adding a pid controller for speed control
resolved merge conflict
added test case for a recent error