Make GetUniqueName() virtual so it's possible to inject a customized version

In order to provide my own logic for the unique names generator I inject my own implementation of `UniqueNameProvider`. However the original method is not flagged as virtual so my custom implementation is never actually reached.