Work on PumpController to make all reads and writes in single events.
Also a few changes to Functions and SetImpls