Fixed some S.O.L.I.D. violations

Refactored a bit some of embedder related classes that violates S.O.L.I.D. principles. Main idea was to touch less as possible classes/code but in same time to achieve ability to extend them. Some time is required to fix or just change something in custom project and if this cannot be achieved by extending a specific class then is need to copy&paste a lot of code.