Temporarily revert previous refactoring patch.
I will work on it later gain.

Revert "refactoring: adopt widget id concept. still going on..."

This reverts commit 60c226cdcd1592e2d4ebf8113744359ba66f2253.