I don't think overwrite is a good idea. Simply destroying the old one and making a new one is not much longer and makes your code simpler (since there are fewer cases to consider). As it is now, I believe overwrite would leak resources, which proves my point.