added FunctionRing to support round robin function selection during pipeline execution. Fixed up all the Function-based pipes with FunctionRing and its great -- so much less code and easier to read. Score.