public void Replace <TModel, TParameters>(TParameters parameters, INavigationNode toReplace) where TModel : NavigationNode <TParameters> { toReplace.Terminate(); var viewToReplace = viewsByModel[toReplace]; var(_, view) = instantiateModelAndView <TModel, TParameters>(parameters); new AnchorTemplate(viewToReplace).ApplyTo(view); root.AddOnTopOf(viewToReplace, view); root.Remove(viewToReplace); viewsByModel.Remove(toReplace); }