Merge pull request #13 from Aalk4308/general-infrastructure

General infrastructure
Merge branch 'master' into consumer
Refactored code in ConsumerStrategy and added a bunch of comments