docs: public void attachView(View view) {
  		if (view == null) {
  			throw new IllegalArgumentException("Mvp view must be not null");
  		}
  
  		boolean isViewAdded = mViews.add(view);
  
  		if (!isViewAdded) {
  			return;
  		}
  
  		mInRestoreState.add(view);
  
  		Set<ViewCommand<View>> currentState = mViewStates.get(view);
  		currentState = currentState == null ? Collections.<ViewCommand<View>>emptySet() : currentState;
  
  		restoreState(view, currentState);
  
  		mViewStates.remove(view);
  
  		mInRestoreState.remove(view);
  	}