Why is this needed? Is this only because we want a class? charlatan supports raw dict.