Update of the architecture documentation
I updated the architecture documentation in the hope that it becomes more clear. This leads to a situation that what is described does not match what is in the code. This is why we have the refactoring. I basically describe the end state.
Please let me know where improvements are needed!