[DO NOT MERGER] Draft of scheme generation

@roman-mazur just review it and say am I moving in the right direction, please
I'm not sure what will be better... But may be we should use Gson for serialization. It would be consistent. We always use Gson both to serialize and deserialize json in helium.