Keep Provisioning Logic out of the Provisioning Code
Early on in my MIIS project I had a consultant in to give me some pointers. He showed me how to create two functions ShouldObjectExist and ReadyForCreation at the top of my MVExtensions, and use them to control provisioning.
Private Function ShouldObjectExist(ByVal mventry As MVEntry) As Boolean
<< Evaluate mventry to determine if CS object should exist >>
End [...]