 Translator = require('./translator')
 Language = null
 
+# Constants used to call Microft Translator APIs
+ACCESS_TOKEN_URI = 'https://datamarket.accesscontrol.windows.net/v2/OAuth2-13'
+TRANSLATE_URL = 'http://api.microsofttranslator.com/V2/Http.svc/Translate'
+SCOPE = 'http://api.microsofttranslator.com'
+GRANT_TYPE = 'client_credentials'
+
 module.exports =
 class MicrosoftTranslatorClient extends Translator
-  # Constants used to call Microft Translator APIs
-  @accessTokenURI: 'https://datamarket.accesscontrol.windows.net/v2/OAuth2-13'
-  @translateURL: 'http://api.microsofttranslator.com/V2/Http.svc/Translate'
-  @scope: 'http://api.microsofttranslator.com'
-  @grantType: 'client_credentials'
-
   accessTokenRequestOptions = null
   accessToken = null
 

          to: toCode
          from: fromCode
        options =
          url: "#{MicrosoftTranslatorClient.translateURL}?#{queryString.stringify(query)}"
          json: true

        new Promise((resolve, reject) =>


    # Initialize a field
    @accessTokenRequestOptions ?=
      uri: ACCESS_TOKEN_URI
      form:
        client_id: clientId
        client_secret: clientSecret
        scope: SCOPE
        grant_type: GRANT_TYPE
      json: true

  languageToCode: (language) ->
