The result I expect from the last input above is “Hello, Samy”.
The point is whether it is possible to deal with functions as elements in a list
so that we can get the ability of OOP’s method features.
There are number of ways to emulate OOP in Mathematica, if you search Mathematica stackexchange you’ll find number of topics on this. Here is a small note on one method.