Syntax update

We should now use the Delegate property, instead of WaterfallDelegate.
Additionally, the backing field now uses auto-implemented properties
(with a hidden backing field + accessor/mutator methods).