Add Singleton implementation based on metaclass