Refactoring and validation / save state for email