public Screensaver(Counter counter, ILanguage language)
        {
            if (counter == null) throw new ArgumentNullException("counter");
            if (language == null) throw new ArgumentNullException("language");

            _counter = counter;
            _language = language;

            //set the message on start
            Message = _language.GetMessage(_counter.RemainingTime);

            _counter.Tick += (sender, args) =>
            {
                if (_counter.RemainingTime == 0)
                {
                    Expired = true;
                }

                Message = _language.GetMessage(_counter.RemainingTime);
            };
            _counter.Start();
        }