Add region swapOut, beforeSwapOut

fixes #1718
on swapOut and i want to know the view leaving and nothing else, is there a usecase to know the what is being swapped in? because we call swap on that view already