We can defiantly keep the original structure in startup.js and keep the promise structure for settings, but I mean we don't have to wait for ready here because Settings.isDoubleSim(or isDualSim) should be accessible right after calling init(doInit). Instead of using whenReady here, other place related to mmsSizelimitaion(message composing) and active/nonactive sim (sim switch error dialog) would be the most need part. Please correct me if my understanding is wrong ;)