public static function search(string $handle, array $attributes = ['*'])
    {
        $handle = explode('.', $handle);
        $type   = array_shift($handle);

        if (!$handle) {
            throw new InvalidArgumentException('The search argument is not properly formatted.');
        }

        $handle = $handle[0];

        return static::where(compact('type', 'handle'))->firstOrFail($attributes);
    }