docs: function createCrudState (appname, masterSpec, moduleName, state, parentStateName, moduleUrl, agents) {
    var controllerPath = path.join(appname, 'generated', 'crud', parentStateName, 'controllers'),
      partialPath = path.join(appname, 'generated', 'partials', 'crud', parentStateName),
      crudType
  
    if (moduleName == 'POST' || moduleName == 'PUT') {
      crudType = 'postPut'
    }
    if (moduleName == 'FIND') {
      crudType = 'find'
    }
    if (moduleName == 'GET' || moduleName == 'DELETE') {
      crudType = 'get'
    }
  
    var specModel = {
      parentStateName: parentStateName,
      moduleName: moduleName,
      state: state,
      agents: agents,
      agentSpec: masterSpec.agents,
      crudAgent: crudAgent
    }
    var crudAgent = getUnrenderedTemplateContents(path.join('generated', 'crud', 'crudAgents.js'))
    var contents = getUnrenderedTemplateContents(path.join('generated', 'crud', crudType + 'Controller.js'))
    var controllerContents = mergeTemplateAndModel(contents, specModel)
    var agentControllerContents = mergeTemplateAndModel(crudAgent, specModel)
  
    createTemplate(appname, path.join('generated', 'crud', 'crudController.js'), {
      parentStateName: parentStateName,
      moduleName: moduleName,
      state: state,
      agents: agents,
      agentSpec: masterSpec.agents,
      crudControllerContents: controllerContents
    })
  
    var oldControllerPath = path.join(appname, 'generated', 'crud', 'crudController.js'),
      newControllerPath = path.join(controllerPath, moduleName + '.js')
    fs.renameSync(oldControllerPath, newControllerPath)
  
    if (agents.length) {
      createTemplate(appname, path.join('generated', 'crud', 'crudAgentController.js'), {
        parentStateName: parentStateName,
        moduleName: moduleName,
        state: state,
        agents: agents,
        agentSpec: masterSpec.agents,
        crudControllerContents: agentControllerContents
      })
  
      var oldControllerPath = path.join(appname, 'generated', 'crud', 'crudAgentController.js'),
        newControllerPath = path.join(controllerPath, parentStateName + 'AgentController.js')
      fs.renameSync(oldControllerPath, newControllerPath)
    }
  
    createTemplate(appname, path.join('generated', 'crud', crudType + '.html'), {
      moduleName: moduleName,
      parentStateName: parentStateName,
      state: state,
      moduleUrl: moduleUrl,
      agents: agents,
      agentSpec: masterSpec.agents // bringing the spec along for the ride for now
    })
  
    var oldHtmlPath = path.join(appname, 'generated', 'crud', crudType + '.html'),
      newHtmlPath = path.join(partialPath, moduleName + '.html')
    fs.renameSync(oldHtmlPath, newHtmlPath)
  }