Structure changes

* Created the object consumer
* Adapted classes to the consumer object
* Updated the description
* Updated the test