 
 /// Defines stub response for a matching API path
 public struct ServiceStub {
+    /// A stubbed request
     public let request:ServiceStubRequest
+    
+    /// The type of stubbing we want to do, either a success or a failure
     public let stubType:ServiceStubType
+    
+    /// The behavior for this stub, if we want the request to come back sync or async
     public let stubBehavior:ServiceStubBehavior
+    
+    /// The type of case we want when the request gets executed, either authenticated with a token or unauthenticated
     public let stubCase:ServiceStubCase
     
     public init(execute request:ServiceStubRequest,
                 with type:ServiceStubType,
-                when stubCase:ServiceStubCase = .unauthenticated,
-                react behavior:ServiceStubBehavior = .immediate)
+                when stubCase:ServiceStubCase,
+                react behavior:ServiceStubBehavior)
     {
         self.request = request
         self.stubType = type

    case delayed(seconds: TimeInterval)
}

/// Used for stubbing responses.
public enum ServiceStubType {
    
    /// The network returned a response, including status code and response.
    case success(code:Int, response:[String:Any]?)


/// Defines a stub request case
public struct ServiceStubRequest {
    
    /// URL Path to regex against upcoming requests
    public let path:String
    
    /// Optional parameters that will get compare as well against requests with the same kinda of parameters
    public let parameters:[String:Any]?
    
    public init(path:String, parameters:[String:Any]? = nil) {
