The CT class is an extension of the Cycler class adding the endCel property and an improved init() method.
It calls the super's init() method with theClient as it's parameter. It then sets the cycleDir property to theCycleDir. If theCaller is specified, it sets the caller property to it. Finally, it sets the end cel to theEndCel. If theEndCel is greater than the last cel of the loop, it sets it to that.
If the cel is greater than the last cel, it is set back to the first cel. If the cycleCnt property is zero, and the endCel is equal to the client's current cel, the cycleDone() method is called.