refactorings

- make `categories` a property
- use api.content.get
add tests for widget

improve coverage
setup proper default value