Completely modularize property controller & widget

With this commit everything SHOULD work flawlessly.