@arcturus, I like the idea of being generic, but the new FTE spec has specific messaging about SIM slots 1 and 2, so we will need code that is not generic to meet that spec. If we add more SIM slots in the future, we will need to modify the FTE, so making it generic now will not save us too much work in the future.

(refer to page 16: https://bug917705.bugzilla.mozilla.org/attachment.cgi?id=8334341)

@crh0716, caching it is not so much a speed concern but rather convenience. We use icc0 in a dozen different places, and it's nice not to have to grab it from the icc manager each time. Also, going forward we are going to need to store state about these cards (ie. have we unlocked this SIM, have we imported its contacts, etc), and so keeping a local object will be helpful. I have started the code for this here: https://github.com/mikehenrty/gaia/blob/bug-926347-dualsim2/apps/communications/ftu/js/sim_manager.js#L126