Money class implementation as described by Martin Fowler at [1] using a long value internally instead of BigInteger. [1] https://web.archive.org/web/20121224045923/http://martinfowler.com/eaaDev/quantity.html