public EmptyResult EmailSignUp()
		{
			var emailAddress = Request["emailAddress"];

			if(string.IsNullOrWhiteSpace(emailAddress))
			{
				throw new ArgumentNullException("emailAddress");
			}

			// Create It
			var newsletterSignup = new NewsletterSignup
			{
				EmailAddress = emailAddress,
				Source = "HomePage",
				IPAddress = Request.UserHostAddress,
				DateCreated = DateTime.Now
			};

			// Save It
			using(var unitOfWork = this.UnitOfWorkFactory.NewUnitOfWork())
			{
				this.MarketingService.AddNewsletterSignup(newsletterSignup);
				unitOfWork.Commit();
			}

			return new EmptyResult();
		}
		/// <summary>
		/// Adds a Newsletter Signup
		/// </summary>
		public void AddNewsletterSignup(NewsletterSignup newsletterSignup)
		{
			if(newsletterSignup == null)
			{
				throw new ArgumentNullException("newsletterSignup");
			}

			// Ignore the Request if Email Already Exists
			if(this.Repository.GetSet<NewsletterSignup>().Any(x => x.EmailAddress == newsletterSignup.EmailAddress))
			{
				return;
			}

			this.Repository.Add(newsletterSignup);
		}