Implementation of a read only value expression that can be used when the value is not yet available at construction time, or when the value would be too expensive to create and it's not yet clear if the expression will actually be evaluated.
A callback (lambda in Java 8) that obtains the value can be provided, or the getValue() method can be overridden.
@since 2.0
@author Arjan Tijms