Get rid of logging package
Introduce model wrapper
Introduce common package
Add listener support