private void ModelStarChangedEventHandler(object sender, StarChangedEventArgs e) { if (e.isDisappeared && _stars.ContainsKey(e.Point)) { FrameworkElement starControl = _stars[e.Point]; _sprites.Remove(starControl); } else { if (!_stars.ContainsKey(e.Point)) { FrameworkElement starControl = InvadersHelper.StarControlFactory(e.Point, Scale); _stars[e.Point] = starControl; _sprites.Add(starControl); } else { FrameworkElement starControl = _stars[e.Point]; InvadersHelper.SetCanvasLocation(starControl, e.Point.X * Scale, e.Point.Y * Scale); } } }