Hi Simon,
    I think you can just add commits to this pull request instead of creating another.
Great news about the currencies. With regards to the Singleton, I'm ambivalent. I'd probably leave your CLI implementation in the hpp together with the other and use an #ifdef to select the one to use. I'm not enthusiastic about explicit instantiation, and keeping the template in the cpp seems kind of strange. But maybe it's just me...