namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter07.Listing07_13
{
    public class Controller
    {
        public void Start()
        {
            // Kod krytyczny
        }

        public void Run()
        {
            Start();
            InternalRun();
            Stop();
        }

        protected virtual void InternalRun()
        {
            // Implementacja domyślna
        }

        public void Stop()
        {
            // Kod krytyczny
        }
    }
}
