Since the plan is to have multiple different renderer implementations, it would make sense to make each renderer a package. As such to simplify repo management, we can change the project structure as a monorepo and use (lerna.js) to manage this repo.