 		}
 	}
 	
-	func addDisposable(d: Disposable) {
+	func addDisposable(d: Disposable?) {
+		if d == nil {
+			return
+		}
+	
 		let shouldDispose: Bool = self.disposables.withValue {
 			if var ds = $0 {
-				ds.append(d)
+				ds.append(d!)
 				return false
 			} else {
 				return true

	}
}

class ScopedDisposable<T: Disposable>: Disposable {
	let innerDisposable: T
	
	var disposed: Bool {
		get {

	var disposed = false
	
	func dispose() {
        self.disposed = true
        OSMemoryBarrier()
	}
}
