Refactor main_category to a class property

* Add @classproperty decorator and use it for main_category to avoid unsync
  between loaded categories and assigned to main one.
* Add tests and new frameworks attached to that main category