breaking out the npm package installs into it's own class