   # returns:
   #   Promise
   create: ({ file, title, type, folder, generator }, callback) ->
-    return callback(new Error('options.file is required')) unless file?
+    return @_reject('options.file is required', callback) unless file?
     title = title ? ''
     type = type ? mime.lookup(file)
     encoded = fs.readFileSync(file).toString('base64')

  # returns:
  #   Promise
  update: ({ id, title }, callback) ->
    return callback(new Error('options.id is required')) unless id?
    return callback(new Error('options.title is required')) unless title?
    method = 'put'
    path = '/atom/edit/' + id
    body =

  # returns:
  #   Promise
  show: ({ id }, callback) ->
    return @_reject('options.id is required', callback) unless id?
    method = 'get'
    path = '/atom/edit/' + id
    # TODO: check res.statusCode is 200
