Puphpet integration

This is just a cleanup of #170, since puphpet got much better.