[WIP] Added some base classes for the illustrative example