Puppet types and providers development part 3: on resource uniqueness