Made some fields in ValueHolderBase private (instead of protected)
Started working on unit tests for ValueHolderBase