Reorganized to make it a direclty usable puppet module integration