               callback null, true
 
   verifyNewToken: (token, callback=->) =>
-    hashedToken = @_hashToken token
+    try
+      hashedToken = @_hashToken token
+    catch error
+      return callback error
+
     @devices.findOne uuid: @uuid, "meshblu.tokens.#{hashedToken}": {$exists: true}, (error, device) =>
       return callback error if error?
       callback null, !!device

    @fetch (error, attributes) =>
      return callback error if error?

      hashedToken = @_hashToken token
      @update $unset : {"meshblu.tokens.#{hashedToken}"}, callback

  verifyToken: (token, callback=->) =>

    new Error message.replace("MongoError: ")

  _hashToken: (token) =>
    throw new Error 'Invalid Device UUID' unless @uuid?

    hasher = crypto.createHash 'sha256'
    hasher.update token
    hasher.update @uuid
