- less typenames should be defined
- log destructor name in the very end of destructor
- run several producers/consumers as they produce work consequently, but
we need more parallel work to be produced/consumed