void OnAddItemActivated (object sender, EventArgs e)
		{
			var todoItem = new TodoItem () {
				ID = Guid.NewGuid ().ToString ()
			};
			var todoPage = new TodoItemPage (true);
			todoPage.BindingContext = todoItem;
			Navigation.PushAsync (todoPage);
		}
		TodoWCFService.TodoItem ToWCFServiceTodoItem (TodoItem item)
		{
			return new TodoWCFService.TodoItem {
				ID = item.ID,
				Name = item.Name,
				Notes = item.Notes,
				Done = item.Done
			};
		}
		public async Task SaveTodoItemAsync (TodoItem item, bool isNewItem = false)
		{
			try {
				var todoItem = ToWCFServiceTodoItem (item);
				if (isNewItem) {
					await Task.Factory.FromAsync (todoService.BeginCreateTodoItem, todoService.EndCreateTodoItem, todoItem, TaskCreationOptions.None);
				} else {
					await Task.Factory.FromAsync (todoService.BeginEditTodoItem, todoService.EndEditTodoItem, todoItem, TaskCreationOptions.None);
				}
			} catch (FaultException fe) {
				Debug.WriteLine (@"			{0}", fe.Message);
			} catch (Exception ex) {
				Debug.WriteLine (@"				ERROR {0}", ex.Message);
			}
		}
		public Task DeleteTodoItemAsync (TodoItem item)
		{
			return soapService.DeleteTodoItemAsync (item.ID);
		}
		public Task SaveTodoItemAsync (TodoItem item, bool isNewItem = false)
		{
			return soapService.SaveTodoItemAsync (item, isNewItem);
		}