The documentation should explain the architecture of the simulator, how to setup the development environment, and the steps to extend the simulator. Probably we should discuss first: What would be a typical extension?