--------------------------
- [models] improved reusability by providing abstract models
- [admin] improved reusability by providing abstract admin classes
- [views] provided a base view that can be reused by third party apps
- [docs] documented how to extend models and admin
- [docs] documented hard dependencies