extracted typed API into separate sub module, extracted json conversion, core is now 2.10.3 compatible