i would only be using it for its intended purpose, but adding callfunctions to bypass using the aces, and adding complexity to an already complex cap. im using it mostly for right click menus. the editor im building has several type of simple geometric math objects. sine waves, ratio values, interpolated curves, etc. they all interact in many ways, and as i build and test it, the methods continue to grow. if i want to pick a curve, for instance, right now, through events, i right click, in pops up a listbox, depending on what ive clicked on, and select curve will come up as an option, if i click on that, it brings up a list of all the curves that have been created in the current editting session. to do this, i need a right click event, suppressed depending on whats clicked, create a list box, make the first item a label to check later which type of menu or submenu it is, then i run a looping condition created specifically to run through the curves and output strings of object names to the listbox, then on selection changed, i run an action that loops through the list of curves to find the one with the name that was clicked on after supressing the click on the label. there are also right click menus with functions instead of lists. and in order to destroy a submenu listbox along with the original i need to call a function to forget the one picked by clicking and then destroy them. so far things arent getting too bad yet. but anytime i want to change a function, or add a new option or list of objects, i have to create several events, and add new conditionsand actions just to control listboxes. by adding a few callfunctions to my engine code and to listbox, i could streamline the whole process, and concentrate on the engine and the editor, instead of spending long periods on updating listbox code.. pretty soon now that the basics are done, things are going to start getting really complicated. and the listbox thing although a simple problem, would start taking up large amounts of dev time. so yeah, the things i plan to add are pretty useless to the general community, but super useful for the current project i have going. the same for the other objects ive modified, they dont really do anything new, but if would have had to redo the code to draw curve with the line object everytime ive changed the underlying logic, i probably wouldnt be able to complete this project at all, due to the length of time itd take just inrearraning and redoing events