U/salnikov/dm 621

ok, it's fine. This will allow to remove lots of code in integration tests, and to improve modularity.