Commit a3b8fc94 More structural refactoring (2) Seriously, I do not know how to put this in any different ways anymore.