Apply singleton to make sure one instance used.
Check if plugin with the same name and version already registered upon registering.