 
 import Foundation
 
-public class SpeechToText {
+/**
+ The IBM Watson Speech to Text service enables you to add speech transcription capabilities to
+ your application. It uses machine intelligence to combine information about grammar and language
+ structure to generate an accurate transcription. Transcriptions are supported for various audio
+ formats and languages.
+ */
+public class SpeechToText: WatsonService {
 
     private let authStrategy: AuthenticationStrategy
     private var audioStreamer: SpeechToTextAudioStreamer?
+
+    /** A function that, when executed, stops streaming audio to Speech to Text. */
+    public typealias StopStreaming = Void -> Void
 
     /**
      Instantiate a `SpeechToText` object that can be used to transcribe audio data to text.
     
      - parameter authStrategy: An `AuthenticationStrategy` that defines how to authenticate
-        with the Watson Developer Cloud's `SpeechToText` service. The `AuthenticationStrategy`
+        with the Watson Developer Cloud's Speech to Text service. The `AuthenticationStrategy`
         is used internally to obtain tokens, refresh expired tokens, and maintain information
-        about the state of authentication with the Watson Developer Cloud.
+        about authentication state.
      - returns: A `SpeechToText` object that can be used to transcribe audio data to text.
      */
     public required init(authStrategy: AuthenticationStrategy) {

    }

    /**
     Transcribe recorded audio data.

     - parameter audio: The recorded audio data.
     - parameter settings: Settings to configure the SpeechToText service.
     - parameter failure: A function that will be executed whenever a failure occurs.
     - parameter success: A function executed whenever a result is returned from Speech to Text.
     */
    public func transcribe(
        audio: NSData,

    }

    /**
     Stream audio from the microphone to the Speech to Text service. The microphone will stop
     recording after an end-of-speech event is detected by the Speech to Text service or the
     returned function is executed.

     - parameter settings: The configuration for this transcription request.
     - parameter failure: A function executed whenever an error occurs.
     - parameter success: A function executed with all transcription results whenever
        a final or interim transcription is received.
     - returns: A function that, when executed, stops streaming audio to Speech to Text.
     */
    public func transcribe(
        settings: SpeechToTextSettings,
