While working on a Delphi/Visual Studio project some time ago, I wrote the entire contract and gave it to the customer for signing. I got the contract, and on hindsight, this is what I have learnt.
The customer reserved X months of my time verbally, however, I did not draft this into the contract. At a later time, the customer wanted to take a vacation, and asked me to take a vacation as well, and to continue when they got back from the vacation. This was before X amount of time had occurred.
I drafted into the contract, payment terms, however, the customer did not observe the payment terms. There is a need to specify penalty should the customer not observe the payment terms.
The customer did not stamp the company seal/stamp on the contract. As such, if the customer denied signing such a contract, I would have no recourse.
A modified copy of the contract is linked.
In 2017, with the release of Delphi 10.2 Tokyo, Embarcadero introduced a specialized implementation of the Observer pattern into the System.Classes unit. While it has been in the wild for 9 years, it remains a "hidden" architecture for many, primarily because it serves as the invisible engine behind LiveBindings. Other than live bindings, you can also use the Observer pattern as a way to update component settings to the Windows registry, an .ini file, or persist it elsewhere.
System.Classes