public Direction Move(GameState s)
        {
            FastWorld w        = FastWorld.FromApiModel(s);
            int       ownIndex = w.FindSnakeIndexForHead(s.You.Head);

            return(innerController.Move(w, ownIndex, SearchLimit));
        }
        public void End(GameState s)
        {
            FastWorld w        = FastWorld.FromApiModel(s);
            int       ownIndex = w.FindSnakeIndexForHead(s.You.Head);

            innerController.End(w, ownIndex);
        }
        public string Start(GameState s)
        {
            FastWorld w        = FastWorld.FromApiModel(s);
            int       ownIndex = w.FindSnakeIndexForHead(s.You.Head);

            innerController.Start(w, ownIndex);

            // For color just take hash of inner type name
            var hash = sha256(innerController.GetType().FullName);

            return(String.Format("#{0:X2}{1:X2}{2:X2}", hash[0], hash[1], hash[2]));
        }