Provide a global point of access to a service without coupling users to the concrete class that implements it.