We are using the component modules puppetlabs/apache, puppetlabs/mysql, and mayflower/php, and encapsulating these into the profile classes web::apache database::mysql and programming::php, respectively. You can see that I have used some sensible subdirectories and class names to reflect their contribution to the stack, namely web, db, and programming subdirectory locations for the Apache, MySQL, and programming profiles, respectively.