         self.stubs[action] = rule
     }
 
-    public func stubTarget(target: TargetType, conditionalResponse: StubRule.ConditionalResponseClosure, withBehavior behavior: StubBehavior? = nil) {
-        let rule = StubRule(URL: target.fullURL, conditionalResponse: conditionalResponse, behavior: behavior)
+    public func stubTarget(target: TargetType, behavior: StubBehavior? = nil, conditionalResponse: StubRule.ConditionalResponseClosure) {
+        let rule = StubRule(URL: target.fullURL, behavior: behavior, conditionalResponse: conditionalResponse)
 
         self.stubTarget(target, rule: rule)
     }
 
-    public func stubTarget(target: TargetType, response: StubResponse, withBehavior behavior: StubBehavior? = nil) {
-        let rule = StubRule(URL: target.fullURL, response: response, behavior: behavior)
+    public func stubTarget(target: TargetType, behavior: StubBehavior? = nil, response: StubResponse) {
+        let rule = StubRule(URL: target.fullURL, behavior: behavior, response: response)
 
         self.stubTarget(target, rule: rule)
     }

            completion(response: response, data: data, error: nil)
        case .NetworkError(let error):
            completion(response: nil, data: nil, error: error)
        }
    }
}

public class GenericStubBackend<Target: TargetType>: StubBackend {
    public override init(behavior: StubBehavior = .Immediate) {
        super.init(behavior: behavior)
    }

    public func stub(target: Target, response: StubResponse, withBehavior behavior: StubBehavior? = nil) {
        self.stubTarget(target, response: response, withBehavior: behavior)
    }

    public func stub(target: Target, conditionalResponse: StubRule.ConditionalResponseClosure, withBehavior behavior: StubBehavior? = nil) {
        self.stubTarget(target, conditionalResponse: conditionalResponse, withBehavior: behavior)
    }

    public func removeStub(target: Target) {

    let behavior: StubBehavior?
    let conditionalResponse: ConditionalResponseClosure

    public init(URL: NSURL, behavior: StubBehavior? = nil, response: StubResponse) {
        self.URL = URL
        self.behavior = behavior
        self.conditionalResponse = { (_, _) in
