Added a mostly finished DSL model.
- Made ComponentState an inner class of ComponentModel again.
- Changed the way ComponentStates are constructed.