Added ceremony so that this works as a node, AMD, or just a browser include module.