Observer Design Pattern (An Introduction for .NET Developers [.NET 6 and C# 10])