This reverts commit 03205a8955.
Unfortunately, this introduces a lot of changes that may break
other features.
I generalaly support this change, but this needs a more thorough
testing plan. Until this happens, other features and big fixes
shouldn't be blocked.