Add Jsonable mixin to enable recursive generation