Hi 39cent -
Not at all. The usual flow:
User draws out the system, dragging and dropping components somewhat like D-tools or Visio - Making logical connections, etc.
The system compiles and understands what "services" are available based on the components. IE it knows what a DVD player is, and when connected to display and receiver - it realizes a "DVD/Movie" service.
That service then becomes a menu item automagically with the appropriate buttons in place.
I think the part you are most interested in is the GUI generation. It is completely possible to take any graphic and use it as a background. You can also create buttons and controls using Quartz composer, or create a package following the template already provided. You'd put within a folder, the buttons, background, screensavers, etc, and call it a "theme". Then you'd put the custom theme into the right place in the computer, and it becomes available. You drag and drop the buttons from a list, Then you double click the buttons to define what it is they do. Normally all this is done for you, but its completely possible to say: create a button labeled OFF - and tell it to send the command to turn off the television, reciever, DVD player, turn off the lights after a 30 second delay, etc.
The actions are coordinated by Apple's Automator program so its very flexible in what it can do.
The actual act of assigning button actions, are called "Service Requests", and you just pick say "Lighting Controller 1" - action: "dim to 50%". You can define all these actions in the XML as well.
So no dragging graphics onto buttons - its harder than that, but assigning actions to buttons is a lot easier than say in crestron (which would have you loading different components/drivers, and recoding the buttons themselves from what I've seen).