A generalization of the singleton pattern
stackoverflow.com