Writing custom re-usable NPM modules and how not to mess it up.