     func url(baseURL: NSURL) -> NSURL {
         switch self {
         case .Single(let id):
-            return baseURL.URLByAppendingPathComponent("\(id)")
+            return baseURL.URLByAppendingPathComponent(id)
         case .All:
             return baseURL
         }

    let localDataManager = LocalDataManager()
    
    
    private func complicatedMethod<ServerResponseObject, DataManaterResponseObject>(mode: ManagerMode,
                                   localFetch:() -> (DataManaterResponseObject?),
                                   remoteFetch: ((ServerResultType<ServerResponseObject>) -> ())->(),
                                   remoteParsing: (obj: ServerResponseObject) -> (DataManaterResponseObject?),
                                   completion: (DataManagerResponse<DataManaterResponseObject>) -> ()) {
        
        var localBlock:(()-> (DataManagerResponse<DataManaterResponseObject>))?
        
        /// Obsluga roznych trybow - tylko lokalne dane, tylko dane z serwera, badz dane lokalne w przypadku braku dostepu do danych z serwera
        if mode.contains(.Local) {

        }
    }

    func deck(withId deckID: String, mode: ManagerMode = [.Local, .Remote], completion: (DataManagerResponse<Deck>)-> ()) {
        
        self.handleRequest(mode,
            localFetch: {
                self.localDataManager.get(Deck.self, withId: deckID)
            },
