Allows the initialization of custom properties. This is a virtual method that is called inside the constructor before the object is fully constructed.
This might be considered as bad or as a hack, but it's a good way to be able to inject custom properties before any actual logic is handled by derived classes.