One The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. Two The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. 3 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. 4 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. 5 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. 6 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. 7 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. 8 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. Fucking with your markup 9 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. 10 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument. 11 The idea would be to allow another configuration property to set the timeout in a number of seconds, and debatebly another callback specifically for onTimeout. This is where the clarity of the functionality begins to cloud. If the request has timed out then has it not in fact failed, so should onTimeout and onFailure events both be fired? The alternative being that if the timeout duration has been exceeded the transport should be aborted and the onFailure method should be executed. This difference in behavior seems subtle but I believe it should be decided wisely. I am in favor of simply executing the onFailure method and setting a property of the object to indicate that it has timed out. in that approach we're able to maintain explicit functionality for the timeout case while avoiding bloat in the options argument.