     }
 
     /**
-     Writes given data to characteristic
-
-     - parameter data: Data to be written to characteristic
-     - parameter forCharacteristic: Characteristic into which data will be written
-     - parameter type: Type of write operation
-     - returns: Observable which emit characteristic to which value was written
+     Function that triggers write of data to descriptor. Write is called after subscribtion to `Observable` is made.
+     Behavior of this function strongly depends on [CBCharacteristicWriteType](https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBPeripheral_Class/#//apple_ref/swift/enum/c:@E@CBCharacteristicWriteType), so be sure to check this out before usage of the method.
+     - parameter data: Data that'll be written  written to `Characteristic` instance
+     - parameter forCharacteristic: `Descriptor` instance to write value to.
+     - parameter type: Type of write operation. Possible values: `.WithResponse`, `.WithoutResponse`
+     - returns: Observable that emition depends on `CBCharacteristicWriteType` passed to the function call.
+     Behavior is following:
+
+     - `WithResponse` -  Observable emits `.Next` with `Characteristic` instance write was confirmed without any errors.
+     Immediately after that `Complete` is called. If any problem has happened, errors are emitted.
+     - `WithoutResponse` - Observable emits `.Next` with `Characteristic` instance once write was called.
+     Immediately after that `.Complete` is called. Result of this call is not checked, so as a user you are not sure
+     if everything completed successfully. Errors are not emitted
      */
     public func writeValue(data: NSData,
                            forCharacteristic characteristic: Characteristic,

    }

    //MARK: Characteristics

    /**
     Triggers characteristics discovery for specified service.

    - parameter identifiers: Identifiers of wanted characteristics
    - parameter service: Service which includes characteristics to be discovered
    - returns: Stream of characteristics
    */
    public func discoverCharacteristics(identifiers: [CBUUID]?, service: Service) -> Observable<[Characteristic]> {
        let observable = peripheral.rx_didDiscoverCharacteristicsForService
        .filter { $0.0 == service.service }

    /**
      Function that triggers descriptors discovery for characteristic
    - Parameter characteristic: `Characteristic` instance for which descriptors should be discovered.
     - Returns: Observable that emits `Next` with array of `Descriptor` instances, once they're discovered.
     Immediately after that `.Complete` is emitted.
    */
    public func discoverDescriptorsForCharacteristic(characteristic: Characteristic) -> Observable<[Descriptor]> {
