public AnswerViewModel GetAnswer(Int32 answerId) { var vmKey = GetKey(typeof(AnswerViewModel), answerId); if (Contains(vmKey)) { return(GetViewModel(vmKey) as AnswerViewModel); } var answer = SimpleIoc.Default.GetInstance <IAnswer>(); var comment = SimpleIoc.Default.GetInstance <IComment>(); var collection = SimpleIoc.Default.GetInstance <ICollection>(); var social = SimpleIoc.Default.GetInstance <ISocial>(); var vm = new AnswerViewModel(answer, comment, collection, social); vm.Setup(answerId); SaveViewModel(vmKey, vm); return(vm); }