Thank guys

Over the next few days I plan to explain the structure of the sequencer.
Basically there will be three main layers.
GUI - This is the top layer of the program aka what people see on their screen
Core - This is the main part of the app, which will be the code for managing the dynamic nature of the app, such as managing scripts, and giving a layer the GUI can use to control Core.
Scripts - This is where most of the power of the app will come from. There will be forum main types of scripts
Import Script: Load data from a file in to the sequencer
Export Script: Save data from the app to a file
Effect Script: manipulates light values, allowing you to create effects like chases.
Real time scripts: Scripts that basically manipulate how the user interacts with the app, such as a beat detector.
The goal is that the GUI and Scripts will basically just extend Core, you can basically think of the GUI as being a major plugin for Core that exposes all the core functions / features. When a script is called from the GUI Core will execute the underlying script and return the results back to core for further processing or core will pass it back to the GUI for the user to see.
The goal is to keep the GUI and Core as light as possible, keeping the real power in the scripts. This will allow for the community to truly customize the sequencer in the way they seam fit. I feel like what I am developing is more of a frame work more then a traditional app, but I feel this is the way I can make it the most powerful tool for the community.