Separate concerns between API and JSON modules