Polishing the API moved JSON parsing to callbacks