/// <summary>
        /// Initializes a new instance of the <see cref="AgileCrm" /> class.
        /// </summary>
        /// <param name="companiesService">The companies service.</param>
        /// <param name="contactsService">The contacts service.</param>
        /// <param name="dealsService">The deals service.</param>
        /// <param name="notesService">The notes service.</param>
        /// <param name="tasksService">The tasks service.</param>
        internal AgileCrm(
            ICompaniesService companiesService,
            IContactsService contactsService,
            IDealsService dealsService,
            INotesService notesService,
            ITasksService tasksService)
        {
            companiesService.EnsureNotNull();
            contactsService.EnsureNotNull();
            dealsService.EnsureNotNull();
            notesService.EnsureNotNull();
            tasksService.EnsureNotNull();

            this.companiesService = companiesService;
            this.contactsService  = contactsService;
            this.dealsService     = dealsService;
            this.notesService     = notesService;
            this.tasksService     = tasksService;
        }