 makeUiSettings = (initial) ->
   deepMerge({}, ONE_TIME_CARD_DEFAULTS, initial)
 
+makeKeyForType = (settingKey, taskType) ->
+  "#{settingKey}#{TYPE_SEPARATOR}#{taskType}"
+
 isPlacedHere = (settingKey, step) ->
   settings = UiSettings.get(settingKey)
   settings = settings.placement or settings


hasBeenPlaced = (settingKey) ->
  settings = UiSettings.get(settingKey)
  not _.isEmpty(settings)

isPractice = (task) ->
  _.contains(PRACTICES, task.type)

stepMapOneTimeCard = (condition, type, settingKey, isAvailable, task, step, stepIndex) ->
  settingKeyForTaskType = "#{settingKey}-#{task.type}"

  if hasBeenPlaced(settingKeyForTaskType)
    if isPlacedHere(settingKeyForTaskType, step)

  'homework'
].concat(PRACTICES)

ALL_TYPES = ['reading'].concat(SEE_AHEAD_ALLOWED)

TYPE_SEPARATOR = '-'

makeStep = (task, step = {}, stepIndex) ->

  if step.chapter_section?
