     public final class Repository {
         public static let shared = Repository()
         
-        private var renderers: [Desciptor: Provider] = [:]
+        private var renderers: [Descriptor: Provider] = [:]
         
-        public var availableRenderers: [Desciptor] {
+        public var availableRenderers: [Descriptor] {
             return Array(renderers.keys)
         }
         
-        public func makeViewControllerFor(descriptor: Desciptor) -> RendererProtocol? {
+        public func makeViewControllerFor(descriptor: Descriptor) -> RendererProtocol? {
             return renderers[descriptor].map({ $0() })
         }
         
-        @discardableResult public func register(renderer: Renderer) -> Desciptor {
+        @discardableResult public func register(renderer: Renderer) -> Descriptor {
             renderers[renderer.descriptor] = renderer.provider
             return renderer.descriptor
         }

}

extension Renderer {
    public struct Desciptor {
        /// Example: com.aol.onemobilesdk.flat
        public let id: String
        

    }
}

extension Renderer.Descriptor: Hashable {
    public var hashValue: Int { return id.hashValue ^ version.hashValue }
}

