       if field.max
         max = field.max
         max = max.call() if typeof max is "function"
-        result[k] = makeText(max, Math.round(max / 10))
+        result[k] = getFakeTextCallback(k, max)
       else
-        result[k] = makeText()
+        result[k] = getFakeTextCallback(k)
       continue
     if field.type.name is "Number"
       min = 0

    i++
  _.uniq(result)

AutoForm.Fixtures = {}

AutoForm.Fixtures.getData = (ss) ->
  result = {}
  schema = ss.schema()
  for k of schema

    if field.type.name is "Boolean"
      result[k] = !!Math.round(Math.random())
      continue
  result

AutoForm.Fixtures.normalizeData = (result) ->
  normalData = {}
  for k of result
    namespace = k.split(".")
    # stupid code, sorry
    if namespace.length is 1
      normalData[namespace[0]] = result[k]
    else if namespace.length is 2
      normalData[namespace[0]][namespace[1]] = result[k]
    else if namespace.length is 3
      normalData[namespace[0]][namespace[1]][namespace[2]] = result[k]
    else
      throw new Error("Current version is support only 3 level of namespace")
  normalData

AutoForm.Fixtures.getData = (ss, getFakeTextCallback) ->
  result = AutoForm.Fixtures.getPreData(ss, getFakeTextCallback)
  AutoForm.Fixtures.normalizeData(result)
