public void Run()
        {
            while (true)
            {
                if (_tick)
                {
                    BeginInvoke((MethodInvoker) delegate
                    {
                        _controller.Tick();
                        Refresh();
                    });
                    if (!_auto)
                    {
                        _tick = false;
                    }
                }

                try
                {
                    Thread.Sleep(SLEEP_BETWEEN_TICKS);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
        }