1. A method to be executed at least in part in a computing device for managing contact information, the method comprising: determining a plurality of data stores associated with a plurality of contacts; retrieving a plurality of contact profiles from the plurality of the data stores; and creating a contact model for each distinct contact at a contact management application by: creating a contact object corresponding to each contact profile; determining duplicate contact objects based on contact attributes; aggregating the duplicate contact objects at a duplicate resolution module by one of: selecting a contact attribute from a higher ranked data store among the plurality of data stores and creating a new contact attribute for conflicting duplicate contact attributes from different data stores, based on a ranking of the data stores, the ranking based on at least one from a set of: a reliability of each communication service, an update status of each data store, and user feedback; creating a contact model for each aggregated set of contact objects; storing the contact model for access by a user at an object property ranking data store on one of: a client device associated with the user and a server; and updating the contact modes in response to one of: a notification of a change to a contact entity from a communication service, a response to a query for a status of a contact entity from one of the data stores, and a status update from a presence server.