protected override async Task ShowAsyncImpl()
{
//PUBLISH EVENT THAT WE ARE VIEWING PHRASE ON SCREEN
_DateTimeQuestionShown = DateTime.Now;
ViewModelVisibility = Visibility.Visible;
var eventViewing = new History.Events.ViewingPhraseOnScreenEvent(Question);
History.HistoryPublisher.Ton.PublishEvent(eventViewing);
//ASK THE QUESTION
await AskQuestionAsync(Question, Answer, QuestionDurationInMilliseconds);
//SHOW THE ANSWER
ShowAnswer();
//WAIT FOR ALOTTED TIME FOR USER TO THINK ABOUT ANSWER.
var timeToWait = int.Parse(StudyResources.DefaultThinkAboutAnswerTime);
await CommonHelper.WaitAsync(timeToWait);
}