An adapter adjusts the interface of an object to a new usage context.