* Add implementation
* Add tests for module and class
* Add tests for module and class for string ids
* Update tests with typing
* Add tests for invalid type of marker
* Add docs and the example
* Update changelog
* Fix Python 3.6 tests and flake8
* Refactor unnecessary `else` / `elif` when `if` block has a `return` statement
* Remove unused imports
* Use literal syntax to create data structure
* revert "remove unused import"