split out JsonLeafEditor