On observation here: this is implemented here as a template specialisation. It might be better if this code here was reusable. Maybe a helper function that was a member of Singleton.