Abstracting and separating out the module contents and adding Puppet management.