public function getFor($class, $strict = false)
    {
        if (isset($this->items[$class])) {
            return $this->items[$class];
        } elseif (!$strict) {
            foreach ($this->items as $blueprint) {
                if (is_subclass_of($class, $blueprint->class, true)) {
                    return $blueprint;
                }
            }
        }
        return null;
    }