Inheritance: IClearQuestReader, IClearQuestUpdater
        public void Initialize(XmlElement config, IEventManager eventManager, IProfile profile) {
            this.profile = profile;
            this.eventManager = eventManager;
            logger = new Logger(eventManager);

            ConfigurationReader.ReadConfigurationValues(clearQuestConfig, config);
            sourceFieldValue = clearQuestConfig.SourceFieldValue;
            ProcessMandatoryFieldsSettings(config["ClearQuestMandatoryFields"], clearQuestConfig);
            ConfigurationReader.ProcessMappingSettings(clearQuestConfig.PriorityMappings, config[PriorityMappingsNode], ClearQuestPriorityNode, VersionOnePriorityNode);
            ConfigurationReader.ProcessMappingSettings(clearQuestConfig.ProjectMappings, config[ProjectMappingsNode], ClearQuestProjectNode, VersionOneProjectNode);

            var clearQuestQuery = new ClearQuestQuery(clearQuestConfig, new ClearQuestSession());

            var readerUpdater = new ClearQuestReaderUpdater(clearQuestQuery, clearQuestConfig, logger);
            clearQuestReader = readerUpdater;
            clearQuestUpdater = readerUpdater;

            eventManager.Subscribe(typeof(IntervalSync), OnInterval);
            eventManager.Subscribe(typeof(WorkitemCreationResult), OnDefectCreated);
            eventManager.Subscribe(typeof(WorkitemStateChangeCollection), OnDefectStateChanged);
        }