private void Initialize() { if (timer != null) { timer.Dispose(); } GameState = GameState.Default; Rows = Resolver.CreateNewRows(Size, MimeRate); var observable = Observable.Timer(TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(1)); timer = observable.ObserveOn(SynchronizationContext.Current).Subscribe(v => ElapsedTime = Convert.ToInt32(v)); }