1. A method of maintaining and supplying a plurality of speech models comprising: storing a plurality of speech models; storing metadata for each stored speech model; receiving a query for a speech model from a source, the query comprising one or more conditions; determining the speech model with metadata most closely matching the supplied one or more conditions; supplying the determined speech model to the source; receiving a refined speech model from the source; and storing the refined speech model.