private static function modelInstance(array $ctor = [])
    {
        static $cached;
        if (!isset($cached)) {
            $class = new ReflectionClass(get_called_class());
            $cached = $class->newInstanceArgs($ctor);
        }
        return $cached;
    }