public function intersects(Box $box, $strict = true) : bool
    {
        $class = Comparators::class;
        $comparator = $strict ? array($class, 'strictComparator') : array($class, 'nonStrictComparator');

        return $comparator($this->getLeft(), $box->getRight())
            && $comparator($box->getLeft(), $this->getRight())
            && $comparator($this->getTop(), $box->getBottom())
            && $comparator($box->getTop(), $this->getBottom());
    }