protected PageViewModelBase(IStateMachineBase stateMachine, IProvidePageEvents pageEventProvider = null) { // Request the global interface type so the code is more share-able. Machine = stateMachine; // Also share the page event provider so that derivers know about OnAppearing, // OnDisappearing, etc. PageEventProvider = pageEventProvider; if (PageEventProvider?.GetEventBroadcaster != null) { FormsMessengerUtils.Subscribe <PageLifecycleMessage>(this, HandlePageLifecycleChanged); } }