move widgets to separate file
some minimal inline docs
better widget registration
don't load plugin files directly