Added some more abstractions to the demo page. Now wrapped in a re-usable layout which fetches its data from the package.json file