This is getting a bit out of hand, but ..
If you want a new class, with a matching method, you must define the class & write the code for the method. Is that significantly different to modifying the function to have, for example, another case in a switch statement to handle a new form ?
In OOP, you call the method & the system must determine the class of the object to call the correct method (I'm assuming here that the actual instance of the class is not known at compile time, which does simplify things). In the above example, the function is called which determines for itself where it was called from & then runs the correct code.
It just seemed to me to be a very crude simulation of OOP.
Mike
"I can live with doubt and uncertainty and not knowing. I think it is much more interesting to live not knowing than to have answers that might be wrong." - Richard Feynman