Enhanced type safety, introducing amount factories and templates on
MonetaryContext.
Added monetary flavor.