public abstract bool Overlaps(BoundingRegion b);
        public override bool Overlaps(BoundingRegion b)
        {
            var delta = b.Center - Center;
            var edgePoint = PointOnEdge(delta);
            if (edgePoint == Vector2.Zero)
                return true;

            return b.Intersects(edgePoint + Center);
        }