1. A method for storing key-value pairs, the method comprising: exposing, at an application programming layer, a repository interface through which clients may make calls to store and access key-value pair information in a repository; servicing calls made through said repository interface by calling one of a plurality of plug-ins through a common storage abstraction interface; wherein each plug-in of said plurality of plug-ins exposes said common storage abstraction interface for accessing durably stored key-value pair information; wherein each plug-in of said plurality of plug-ins is designed to interact with a particular type of storage subsystem in response to calls made through said common storage abstraction interface; and wherein the storage subsystem with which each plug-in interacts is a different type of storage subsystem than the storage subsystem with which each other of said plurality of plug-ins interacts.