Puppet types and providers development part 6: mysteries of self.prefetch