Add ContactManagerImpl and tests