public override void ViewWillAppear(bool animated)
	    {
	        base.ViewWillAppear(animated);

            var rawStatuses = Enum.GetValues(typeof(CommitmentStatus));
            var statuses = new CommitmentStatus[rawStatuses.Length];
            var i = 0;
            foreach (CommitmentStatus status in rawStatuses)
            {
                statuses[i] = status;
                i++;
            }
            _pickerModel = new PickerModel(statuses);
            _statusSelectedEventHandler = (sender, args) =>
            {
                _selectedStatus = args.SelectedValue;
            };
            _pickerModel.PickerChanged += _statusSelectedEventHandler;

            _statusPicker = new UIPickerView
            {
                ShowSelectionIndicator = true,
                Model = _pickerModel
            };

            // Setup the toolbar
            var toolbar = new UIToolbar
            {
                BarStyle = UIBarStyle.Black,
                Translucent = true
            };
            toolbar.SizeToFit();

            _barButtonClickEventHandler = (s, e) =>
            {
                DisasterStatusText.Text = Enum.GetName(typeof(CommitmentStatus), _selectedStatus);
                DisasterStatusText.ResignFirstResponder();
            };
            // Create a 'done' button for the toolbar and add it to the toolbar
            _doneButton = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, _barButtonClickEventHandler);
            toolbar.SetItems(new[] { _doneButton }, true);

            // Tell the textbox to use the picker for input
            DisasterStatusText.InputView = _statusPicker;

            // Display the toolbar over the pickers
            DisasterStatusText.InputAccessoryView = toolbar;
	    }