In VB, all elements; fields and properties are initialized on object creation.
This can take a big amount of time and processor power for complex properties. And all for nothing if these properties are not used during the lifetime of the object.
I request therefore to extend the property syntax with the Lazy keyword - where the property is not initialized until it is used.
Syntax:
Public Lazy Property MyProp As String = MyHeavyFunction()