As I create tools in BSA I also use a part of BSA to create that tool. The current version is illustrated below it is a table driven application where I specify the tool, it details and properties, As I generate code I get Load/Save end editing generated – while I need to draw the symbols in manual code. As I move forward I will modify this to be included in BSA as a Tool Manager to create user tools. User tools will then appear in the Tool or Dictionary folder. I think the key concept need to be that we have a list of static-build in tools to create a base reference we build on. But, the concept will be that you can create your own libraries and add them to BSA. The tool itself is a specification – the actual code can be external libraries or code created by BSA. Tool behavior inside diagrams is the same as build-in tools – all the same mechanisms/rules will be available.