 
     mfBuild.push {
       items: freqStart.build
-      type: 'Most Frequent Starters ('+freqStart.wins+' wins - '+freqStart.games+ ' games)'
+      type: templates.freqStart({wins: freqStart.wins, games: freqStart.games})
     }
     mfBuild.push {
       items: freqCore.build
-      type: 'Most Frequent Core Build ('+freqCore.wins+' wins - '+freqCore.games+ ' games)'
+      type: templates.freqCore({wins: freqCore.wins, games: freqCore.games})
     }
 
     hwBuild.push {
       items: highestStart.build
-      type: 'Highest Win % Starters ('+highestStart.wins+' wins - '+highestStart.games+ ' games)'
+      type: templates.highestStart({wins: highestStart.wins, games: highestStart.games})
     }
     hwBuild.push {
       items: highestCore.build
-      type: 'Highest Win % Core Build ('+highestCore.wins+' wins - '+highestCore.games+ ' games)'
+      type: templates.highestCore({wins: highestCore.wins, games: highestCore.games})
     }
 
     mfBuild = trinksCon(mfBuild)


  # TODO: Lodash map.
  # Now we execute for the other positions for the champs, if there are any.
  if !obj.position and positions.length > 0
    positions = positions.map (e) ->
      return {champ: champ, position: e}




  # TODO: Make this better with Lodash.
  # Converts array of items from ChampionGG in to useable object from LoL Blocks.
  arrayToBuilds = (arr) ->
    build = []

    arr = _.map arr, (e) ->
      return e.id.toString()

    count_obj = arr.reduce (acc, curr) ->
      if typeof acc[curr] == 'undefined'
        acc[curr] = 1
      else
