Non-static / Dynamic FB Instance Selection inside of another FB method call

There are quite a few very useful Function Blocks (FBs) provided across PLCnext Engineer. Some are so useful and help us reduce our code so much that when we can not use an FB like TON, TOF, or R_TRIG inside of another FB we are programming, it’s mind boggling why this basic object-oriented concept is not available. It may be available, and if it is PLEASE let me know, but PLCnext Engineer needs to allow for dynamic instance selection for an FB, and an additional benefit would be to be able to create types that are arrays of FB instances. In my instance, I can loop over the same logic for a number of connected systems and process sensor data and make decisions based on timing and rising edges without having to create my own TON, TOF, and rising edge code… which REALLY makes the code confusing when I should be able to dynamically select an instance within the code for the FB (TON,TOF, R_TRIG, etc.) that I would like to use that is related to the system I am processing data for.
I have a work around, but if PLCnext Engineer had this capability, it would much more closely follow basic object-oriented programming concepts.

To be clear, I’m not suggesting incorporating other object-oriented concepts closely related like “new”, which opens the door to memory leaks. What I am suggesting involves programs with known memory needs while being able to select an FB instance much more easily. I have included what I mean is not allowed and what I have to do right now as the cleanest workaround.
The desired functionality:
image.pngThe current workaround:
image.pngwhere zone_i is an integer input depending on which system in the loop I need the data for and IN is a boolean input passed into TON.
I hope this clarifies the functionality I desire.

For a workaround, you may find this other method to be easier: