This half solved my problem. I was able to find how the input/output elements are added, and basically it comes from ExtensionElement class, in the html property, where you have [data-action], and this is binded to a click event that enters the "set:' function of ExtensionElement. the binding is done in PropertiesPanel.
Is there a way for me to enter the "set:" function without binding to an event? Like, use a condition in order to access the set every time the condition is true. Where in PropertiesPanel would i have to include it, and how?
Using template element would be a good workaround, but it's not totally complete.
Mainly bevause it does not support map and list for in/out, and also because when i seem to select a different template, some of the values in the select boxes stay.
Is there anyway to make them disappear every time i select a new template?
I'm sorry for insisting on such small details, but it's just that my supervisor is very picky about these details.