various little refactor
ViewModels: proper placement of set DidEnter/DidExit blocks in VC via an new API in the ViewModels