Solution with DynamicObject (no delegates/lambdas)

C# provides a way to create an object that hooks into the way it is called. This is used to intercept the call () and execute object