Base JSON scheme generation

@roman-mazur just review it and say am I moving in the right direction, please
Reduce visibility scope to package.