it has some limitations like the amount of generated code that sometimes you have to extract the code to functions, and it does not allow to grab axis from variables.
To avoid those limitation we implemented something similar in our shared pipeline library