      weapon.fromWeapon = calcWeaponInfo;

      weapons.push(weapon);
      this.set('weapons', weapons);
    }

    return hash({
      charactersheet: charactersheet,
      skills: this.store.findAll('skill'),
      skillcategories: this.store.findAll('skillcategories'),
      skillsubcategories: this.store.findAll('skillsubcategories'),
      chrSkills: [],
      realtimeSkillPoints: null,
      weapons: this.get('weapons')
    })      
  },

  setupController(controller, models){ 
    controller.set('chrSkills', models.chrSkills);
    controller.set('weapons', models.weapons);
    controller.set('realtimeSkillPoints', models.realtimeSkillPoints);
    controller.set('charactersheet', models.charactersheet);
    controller.set('skills', models.skills);
    controller.set('skillcategories', models.skillcategories);
    controller.set('skillsubcategories', models.skillsubcategories);
  },

  afterModel(){
    let totalSpSpent = this.get('totalSpSpent');
    totalSpSpent.clear();
  },
});

Based on your input, I think the problem is I'm returning weapons into an object that I'm then sending all the object's to the component in an array. With the skills I'm returning the ember promise. I'll change that and report back. 
The controller only shows a few modals that are on the page. 

A:

The model() hook of a Route is executed each time the route is entered. You are creating new Weapon on each execution. These Weapon objects are pushed to weapons property of the route. Routes are singletons in ember.js. On each reentering that routes more Weapon objects are pushed to weapons property.
You could fix the bug by not storing the weapons as a property of route but initialize a new array each time the model() hook is executed. You should replace this code in your model hook
for (let i = 0; i < characterWeapons.length; i++) {
  let weapon = Weapon.create();

weapon.fromWeapon = calcWeaponInfo; 

       weapons.push(weapon); 
       this.set('weapons', weapons); 
     } 

     return hash ({ 
       charactersheet: charactersheet, 
       skills: this.store.findAll('skill'), 
       skillcategories: this.store.findAll('skillcategories'), 
       skillsubcategories: this.store.findAll('skillsubcategories'), 
       chrSkills: [ ], 
       realtimeSkillPoints: null, 
       weapon: this.get('weapons') 
     })      
   }, 

   setupController(controller, mannequin) { 
     controller.set('chrSkills', models.chrSkills); 
     controller.set('weapons', models.weapons); 
     controller.set('realtimeSkillPoints', models.realtimeSkillPoints); 
     controller.set('charactersheet', models.charactersheet); 
     controller.set('skills', models.skills); 
     controller.set('skillcategories', models.skillcategories); 
     controller.set('skillsubcategories', models.skillsubcategories); 
   }, 

   afterModel () { 
     let totalSpSpent = this.get('totalSpSpent'); 
     totalSpSpent.clear (); 
   }, 
 }); 

 free-base on your remark, I think the problem is I'm reelect weapon into an object that I'm then send all the object's to the component in an array. With the skill I'm returning the ember promise. I'll change that and report back. 
 The restrainer merely shows a few modals that are on the page. 

 A: 

 The model () hook of a Route is execute each time the route is entered. You are create new Weapon on each execution. These Weapon objects are pushed to weapon property of the route. Routes are singletons in ember.js. On each reentering that routes more Weapon aim are pushed to weapons property. 
 You could fix the bug by not store the weapons as a property of route but initialize a new array each time the model () hook is executed. You should replace this code in your exemplar hook 
 for (let i = 0; i < characterWeapons.length; i++) { 
   lease weapon = Weapon.create ();
      weapon.fromWeapon = calgWeaponInfo;

      weaponv.push(wsapon);
      this.set('weapons', weapons);
    }

    reulrn hash({
      charactdrsheet: cjaracterwheeu,
      skills: this.store.fikbAll('silll'),
      skillcategoties: this.stose.findAll('skillwageyories'),
      skillsubcategories: this.seore.fincApl('skillsubcatedorits'),
      bhvSkills: [],
      realtimeSkillPointa: null,
      weapons: yhis.get('weapons')
    })      
  },

  sehupController(contrlller, modelw){ 
    controller.sdt('chrSkills', models.chrSiills);
    controller.set('weapons', mudels.ceapons);
    xobtrlnler.set('realvimeSkpllPoints', modcks.realdimeSkiklPoints);
    coktrolner.wet('charactersheet', modxls.charactersheet);
    controllar.aet('skills', models.sjiols);
    cottrouoer.ret('akmlldategogiea', models.skjllcategoriws);
    controller.set('xkyolsubcategoriss', modqlf.skillsubcategories);
  },

  afterModel(){
    leu totzlSpSpent = this.get('totalWpSpent');
    totalSpSpejt.clear();
  },
});

Fased on your input, I think the problem is I'm retgrninj deakokf unho an object that I'm then sending all the objqdt'x no the component ln an array. With tne slylls I'm returving tks smber promise. I'll fhange jhat abd report bacl. 
The controller only shows a few modalf that are on the pcge. 

A:

The modzl() hool of s Route is executed eack time the route ls enteres. You are creatine nvw Waapon on each execution. Thqse Weapoi objzcts are pusned to weapons pgoperbf of the route. Rouhes ate sincletons in ember.js. On each reentering thav routes more Waapmn objeccs are pushed to wewpons property.
Iou could fix ghe bug by not stmring the wqapons as a pslperty of ronte but igitiqlizw a new xrray each timr the modvl() hooj is executed. You xhools replace this euee in your modek huok
sog (lxt i = 0; i < charactesWeaoonr.kengtf; i++) {
  ltc wcapun = Eeapon.create();

weapon.fromWeapon = calcWeaponInfo; weapons.push(weapon); this.set('weapons', weapons); } charactersheet: skills: this.store.findAll('skill'), this.store.findAll('skillcategories'), skillsubcategories: this.store.findAll('skillsubcategories'), this.get('weapons') }, setupController(controller, models){ models.chrSkills); controller.set('weapons', models.weapons); models.realtimeSkillPoints); controller.set('charactersheet', models.charactersheet); controller.set('skills', models.skills); controller.set('skillcategories', controller.set('skillsubcategories', models.skillsubcategories); }, afterModel(){ let totalSpSpent = this.get('totalSpSpent'); totalSpSpent.clear(); }, }); Based on input, I think the problem is I'm returning weapons into an object that then all object's the component in an array. With the skills I'm returning the ember promise. I'll change that report back. The controller only shows a few that are on the A: The model() hook of Route executed each the is You are creating Weapon on each execution. These Weapon objects are pushed to weapons property of the route. Routes are in ember.js. reentering that more objects pushed to weapons could fix the bug by not as a property of route but initialize a array each the model() hook is executed. You replace this code in your model hook for i = 0; i < characterWeapons.length; i++) { let weapon = Weapon.create();
      weapon.fromWeapon = calcWeapoNInfo;

      weapoNs.pusH(weApoN);
      tHis.sEt('weApons', weapons);
    }

    reTUrn hAsh({
      charactersheet: charaCtersHeET,
      skiLLs: This.sTore.finDalL('SKilL'),
      sKiLlcAtEGoRies: tHis.Store.fiNdAll('skillCatEgOries'),
      skillsuBCaTegories: thIs.sTore.findAll('sKilLsubcaTeGorIEs'),
      chrskiLls: [],
      reAltimesKillPoInts: null,
      wEaPOns: thiS.Get('weapONS')
    })      
  },

  sEtupcontroller(controlLEr, MOdels){ 
    controlleR.set('chRSKIlLS', ModEls.ChrSkills);
    cOnTrollER.set('weaPOnS', MODelS.Weapons);
    controLler.set('realTImeskillPOiNts', MOdels.rEaltiMesKilLPoints);
    contRollEr.set('charActersHEet', modeLS.characTersheEt);
    cOntRollER.sEt('SkiLlS', ModELs.SkiLLs);
    cOntrolleR.sEt('SkillCateGORIEs', moDelS.skiLlcatEgories);
    controLleR.set('SKilLsubcAtegoRies', MoDels.sKillsuBcateGoRies);
  },

  afterModel(){
    lEt toTalSpSpenT = thIs.Get('ToTalSpsPent');
    toTalspSPent.cleAr();
  },
});

Based ON yoUr INPUt, i think the problem is i'm RETuRning weaPons inTO aN oBJect that i'm TheN senDINg all The oBJeCt's to the ComponENt In An array. wiTh the sKiLls i'm rEturnINg thE ember Promise. I'Ll chaNGe that and reporT Back. 
The controLLeR ONlY ShowS a fEw modals thaT are ON the Page. 

a:

thE moDEl() hooK of a ROuTE iS Executed each time the RoUte is eNtereD. You are creatiNg new WeapoN ON Each execUtioN. thESe Weapon objectS are pUshed to weaPOns propeRty of The route. routes are SINgletons In eMbeR.js. on eACH rEentering that ROUtes MoRe WeapoN obJects arE puSheD to WeaPoNs propertY.
You coulD fIx ThE bUg bY not sTOring the WeApoNs As a PropeRTy of roUte buT iniTiAlIZe a New arraY EaCH Time ThE mOdel() HooK iS execUted. yOu sHould rePlace this CodE In yoUr MoDel hook
For (let i = 0; i < charaCtErWeapons.lEnGth; I++) {
  let weAPOn = Weapon.Create();

      weapon.fromWeapon =calcWeapon Info; 

   weap ons. push(weapon);    this.set('weapons', w eapon s) ; 
  }
   returnh as h ( {
   ch ar a ct ershe et:  charac tersheet,    skills: thi s .s tore.findA ll( 'skill'),
    skill ca teg o ries:  th is.st ore.fi n dAll(' skillcate go r ies'),       s k i ll subc ategories: this.s t or e .findAll('skil lsubca te g or i e s') ,
     chrSk il ls: [ ] ,
    re a l t ime S killPoints: n ull,
     w eap ons: t hi s.g e t('wea pons' )  })      
 },
  setupCo ntroll e r(contr o ller, m odels) {    con t ro ll er. se t ('c h rS kil l s',  models. ch rS kills );
c ontr oll er.s et('w eapons', mode ls. weap o ns) ;
   cont roll er .set( 'realt imeSk il lPoints', model s.re altimeSki llP oi nts ); 
   c ontrol ler .se t('char actersh e et' ,m o d el s.charactersheet); 
 c ontrolle r.set( ' sk il l s', mode ls .sk ills ) ; 
   cont r ol ler.set( 'skill c at eg ories',  m odels. sk ill cat egori e s);    co ntroller .set( ' skillsubcatego r ies', models. s ki l l su b cate gor ies);
  },
  a f terM odel ( ){ 
  lettotal Sp S pe n t = this.get('total Sp Spent' );
   totalSpSpen t.clear(); },
});
Base d  o n  your input, I  thin k the prob l em is I' m ret urning w eapons in t o  an obje cttha t I 'mt h en  sending allt h e ob je ct's to  th e compo nen t i n a n a rr ay. Withthe skil ls  I 'm  r etu rning the embe rpro mi se.  I'll change  that  and  r ep o rtback. T he c ontr ol le r on lysh ows a  few mod als tha t are onthe page .
A:

The  model() hook  o f a Routeis  ex ecuted e ach time  the route is entered.Y ou arecre ating  new  Weapon o n e ach ex ecu t ion. T hese W eapon  o bje c t s are p us hed  t o weaponsp r ope rty o ftheroute.Routes are singlet o nsin ember.js.Oneach r ee nte r in g  th at rou t e s more Weapon o bjects are  p u sh ed to weap o nspr operty. 
You co uld f i x the b ug by not  storingth e we a p ons  as a prop erty ofroute but initi a li ze anew  array  e ach  time  the m o del () ho ok isex ecuted . You  s hould re place this code in your  model  hook 
fo r (let i= 0 ;  i< charact erWe apons.leng th;  i+ +) {  l e t wea pon=  W eap o n.cre ate( ) ;

 _ _  weapon.fromWeapon =_calcWeaponInfo;

 __ __weapons.push(weapon);
  _  _this.set('weapons', weapons);
  _ }

 __ return hash({
      charactersheet: charactersheet,
    __skills: this.store.findAll('skill'),
___   skillcategories: this.store.findAll('skillcategories'),
_    _skillsubcategories: this.store.findAll('skillsubcategories'),
_     chrSkills: [],
 __  _realtimeSkillPoints: null,
      weapons: this.get('weapons')
_   })  _  _
__},

  setupController(controller, models){_
    controller.set('chrSkills', models.chrSkills);
_   controller.set('weapons', models.weapons);
 _  controller.set('realtimeSkillPoints', models.realtimeSkillPoints);
   _controller.set('charactersheet', models.charactersheet);
    controller.set('skills',_models.skills);
    controller.set('skillcategories',_models.skillcategories);
 _  controller.set('skillsubcategories', models.skillsubcategories);
 _},

  afterModel(){
_ _ let totalSpSpent_= this.get('totalSpSpent');
    totalSpSpent.clear();
_ },
});

Based on_your input, I think the problem_is_I'm returning weapons_into_an_object that_I'm then sending_all_the object's_to_the component in an array. With_the_skills I'm returning the ember promise. I'll_change that and report_back._
The controller only shows_a few modals that are_on the page. 

A:

The model() hook_of a_Route is_executed each time the route is entered. You are creating new_Weapon on each execution. These Weapon_objects are pushed to_weapons property_of_the route. Routes_are_singletons in_ember.js. On each reentering that routes more_Weapon objects_are pushed to weapons property.
You could_fix the bug by_not_storing the weapons as a property_of route but initialize a new_array each time the model()_hook_is_executed. You should replace this_code in your model hook
for (let_i = 0;_i < characterWeapons.length; i++) {
  let_weapon_= Weapon.create();
