private void RemoveView(IView view)
{
// Setup initial conditions.
if (view == null) return;
// Unwire events.
INotifyPropertyChanged observableView = view as INotifyPropertyChanged;
if (observableView != null) observableView.PropertyChanged -= OnViewPropertyChanged;
// Destroy.
view.Container.Remove();
view.Dispose();
// Finish up.
itemViews.Remove(view);
}