   #
   # @mixin
   #
-  # 以下所有方法的调用上下文都是 Controller. 并且按照文档显示的顺序调用
   # The context of these functions is `$.atwho.Controller` object and they are called in this sequences:
   #
   # [data_refactor, matcher, filter, remote_filter, sorter, tpl_evl, highlighter, selector]
   #
   DEFAULT_CALLBACKS =
 
-    # 用于插件最开始时对设置的数据进行重构.
-    # 默认情况下将数组组织成Hash形式.
-    #
-    # @param data [Array] 开发者自己在配置中设置的数据列表
-    #
-    # @return [Array] 重构后的数据列表
+    # It would be called to restrcture the data when reg a `flag`("@", etc).
+    # In default, At.js will convert it to a Hash Array.
+    #
+    # @param data [Array] Given data in `settings`
+    #
+    # @return [Array] Data after refactor.
     data_refactor: (data) ->
       return data if not $.isArray(data)
       $.map data, (item, k) ->


    # ---------------------

    # 根据匹配的的字符串搜索数据
    #
    # @param query [String] 匹配得到的字符串
    # @param data [Array] 数据列表
    # @param search_key [String] 用于搜索的关键字
    #
    # @return [Array] 过滤后的数据
    filter: (query, data, search_key) ->
      $.map data, (item,i) =>
        name = if $.isPlainObject(item) then item[search_key] else item
        item if name.toLowerCase().indexOf(query) >= 0

    # 当 `data` 设置为 url 的时候, 我们使用这个 filter 来发起 ajax 请求
    #
    # @param params [Hash] ajax 请求参数. {q: query, limit: 5}
    # @param url [String] 开发者自己设置的 url 地址
    # @param render_view [Function] 将数据渲染到下拉列表的回调
    remote_filter: (params, url, render_view) ->
      $.ajax url,
        data: params
        success: (data) ->
          render_view(data)

    # 对重构后的数据进行排序
    #
    # @param query [String] 匹配后的关键字
    # @param items [Array] 重构后的数据列表
    # @param search_key [String] 用于搜索的关键字
    #
    # @return [Array] 排序后的数据列表
    sorter: (query, items, search_key) ->
      if !query
        return items.sort (a, b) ->

        item


    # Eval template for every single item in display list.
    #
    # @param tpl [String] The template string.
    # @param map [Hash] Data map to eval.
    tpl_eval: (tpl, map) ->
      try
        el = tpl.replace /\$\{([^\}]*)\}/g, (tag,key,pos) ->
