Dynamic message calling
Probe library allows you to construct method calls dynamically
Here selector and target are data to be determined at runtime
theProbe=[MessageProbe createBegin: zone];
[theProbe setProbedSelector: theSelector];
theProbe=[theProbe createEnd];
anIndex=[aCollection begin: zone];
while((aMember=[anIndex next])) {
theData=[theProbe doubleDynamicCallOn:aMember]];
[self doSomething: theData];