The price method needs to take a date (or a vector of them), let's call it the val_date. The price returned should be the expected screen price as of the val date. Flows that go ex should be triggered by the val date. Discounting should be to the val_date plus the standard settlement.
The Priceable interface should also support a method that returns the discount date given a val date. Then if you want to discount to a particular date, rather than using standard settlement, you can do so easily.
The price method needs to take a date (or a vector of them), let's call it the val_date. The price returned should be the expected screen price as of the val date. Flows that go ex should be triggered by the val date. Discounting should be to the val_date plus the standard settlement.
The Priceable interface should also support a method that returns the discount date given a val date. Then if you want to discount to a particular date, rather than using standard settlement, you can do so easily.