                 return options
             }
         }
-
-        init(name n: String, version v: String = "1.0", persistent p: Bool = true, collections c: [String]? = .None) {
-            name = n
-            version = v
-            persistent = p
-            collections = c.map { Set($0) }
-        }
-
-        /**
-        Utility function which can check if the extension is already registed in YapDatabase.
-
-        :param: database A YapDatabase instance
-        :returns: A Bool
-        */
-        public func isRegisteredInDatabase(database: YapDatabase) -> Bool {
-            return (database.registeredExtension(name) as? YapDatabaseView) != .None
-        }
     }
 }
 

    A wrapper around YapDatabaseView. It can be constructed with a name, which is
    the name the extension is registered under, a grouping enum type and a sorting enum type.
    */
    public class View: BaseView, YapDatabaseViewProducer, YapDatabaseViewRegistrar {

        /**
        An enum to make creating YapDatabaseViewGrouping easier. E.g.

    Request type, as it defines what will be fetched out of the database. The Fetch
    instance should be used by injecting it into a FetchConfiguration.
    */
    public enum Fetch: YapDatabaseExtensionRegistrar {

        case View(YapDB.View)
        case Filter(YapDB.Filter)
        case Search(YapDB.Search)
        case Index(YapDB.SecondaryIndex)

        public var name: String {
            switch self {
            case let .View(view):       return view.name
            case let .Filter(filter):   return filter.name
            case let .Search(search):   return search.name
            case let .Index(index):     return index.name
            }
        }

        var registrar: YapDatabaseExtensionRegistrar {
            switch self {
            case let .View(view):       return view
            case let .Filter(filter):   return filter
            case let .Search(search):   return search
            case let .Index(index):     return index
            }
        }

