Amount constructor
Implementation
factory Amount({@required double value, @required String currency}) {
assert(value != null, 'Amount [value] should not be null');
assert(currency != null, 'Amount [currency] should not be null');
return Amount._(value, currency);
}