/// <summary>
        /// Sends a deletion request for the subscriber
        /// </summary>
        /// <param name="s">subscriber to be removed</param>
        public void DeleteSubscriber(Subscriber s)
        {
            if (ContainsSubscriber(s)) {
                client.DeleteSubscriber(AuthKey, s.Id);
            }

            if (SubscriberDeleted != null) {
                SubscriberDeleted(this, new SubscriberChangedEventArgs(s));
            }
        }
 /// <summary>
 /// Checks whether the current subscriber list contains a subscriber
 /// </summary>
 /// <param name="s"></param>
 /// <returns></returns>
 public bool ContainsSubscriber(Subscriber s)
 {
     return GetSubscribers().Contains(s);
 }
        /// <summary>
        /// Adds a subscriber to the collection and sends and add request to the service
        /// </summary>
        /// <param name="s">subscriber to be added</param>
        public void SaveSubscriber(Subscriber s)
        {
            if (!ContainsSubscriber(s)) {
                // Add to collection
                _subscribers.Add(s);

                // Send to service
                var dto = new NewsletterServer.DataTransferObject.SubscriberDto();
                dto.Contact = s.Email;
                dto.Name = s.Name;
                dto.IsSubscribed = true;

                // Add user and fetch new Id
                s.Id = client.AddSubscriber(AuthKey, dto);

                // Raise added event
                if (SubscriberAdded != null) {
                    SubscriberAdded(this, new SubscriberChangedEventArgs(s));
                }
            } else {
                var dto = new NewsletterServer.DataTransferObject.SubscriberDto();
                dto.Contact = s.Email;
                dto.Name = s.Name;

            }
        }