public bool isWithinComponentBounds(Point p, IInteractiveMenuComponent i)
        {
            var pX                = p.X;
            var iPointX           = i.GetPosition().X;
            var iPointXPlusWidth  = i.GetPosition().X + Menu.width;
            var pY                = p.Y;
            var iPointY           = i.GetPosition().Y;
            var iPointYPlusHeight = i.GetPosition().Y + Menu.height;

            /*
             * Log.AsyncG("is within component bounds?");
             * Log.AsyncC("pX "+pX);
             * Log.AsyncC("iPointX " +iPointX);
             * Log.AsyncC("iPointXPlusWidth "+iPointXPlusWidth);
             * Log.AsyncC("PY "+pY);
             * Log.AsyncC("iPointY "+ iPointY);
             * Log.AsyncC("iPointYPlusHeight "+iPointYPlusHeight);
             */
            int  j = 0;
            bool f = clickables2.TryGetValue((ButtonFormComponent)i, out j);

            const int height = 40;

            if (p.X >= i.GetPosition().X + (j / 2) && p.X <= i.GetPosition().X + Menu.width - (j / 2) && p.Y >= i.GetPosition().Y + height && p.Y <= i.GetPosition().Y + (height * 2))
            {
                return(true);
            }

            return(false);
        }