From http://www.devco.net/archives/2012/12/13/simple-puppet-module-structure-redux.php:
>
>```puppet
   class{'ntp::install': } ->
   class{'ntp::config': } ~>
   class{'ntp::service': } ->
   Class["ntp"]
```
>
> Line 26 here requires some extra explanation – This ensures that all the NTP member classes are applied before this main NTP class so that cases where someone say require => Class["ntp"] elsewhere they can be sure the associated tasks are completed. This is a light weight version of the [Anchor Pattern](http://projects.puppetlabs.com/projects/puppet/wiki/Anchor_Pattern).

I think you also mentioned this before about repository setup.