(TODO: STXify this document, parts can be seen in CoreDiscussion)
Library (data structures, etc.)
Node
SimpleNode (what we've been making up to now, one input port, one
output port)
Dimmer (special SimpleNode, no output)
GroupNode (multiple input/output ports)
Cues (special Groups with extra cue-specific info like page number)
Wands and Readout Nodes
Inc (incorporation and idle functions)
Level/States (currently called States -- might stay that way)
Core (contains a list of Scheduler(s) and StateManager(s), other Cores,
talks to other Cores, talks to electronics)
Scheduler (currently part of StateManager)
StateManager (maintains States for Nodes, is a Node factory, registers
new events with Scheduler when new Nodes are created)
Persistence (use ZODB?)
Network (talk to other Cores, use XML?)
Electronics (to talk to physical dimmers, perhaps via MIDI)
GUI ("Busybox")
CueFader nodes
ColorPicker nodes
Input device wrappers (for electronic switches, physical sliders, etc.)
Switch (Go buttons, e.g. I have no idea how these fit into the big picture,
but they most likely connect to Busybox in some way)
Slider (connects to Busybox inputs)
Simulator ("Focus")