A container or a reference pipe will systematically set bindings to sub pipes. For that reason, it's useless to create script engine instance (and pipebinding object in general).
Moreover it drills down performance a lot when reference pipe or container pipe are used late in the pipe (i.e. are called a lot).
This ticket is about changing the API to include bindings in the constructor of a pipe, if null, then it can be created