Fixed error on virtual fields when nothing changed

Virtual fields hash to track values must be always initialized even when
no fields are set becase the check is on save
Remember virtual fields value on creation
Extract checkIfVirtualFieldsAreChanged
Extract rememberInitialValueOfVirtualFields
Use forEach instead of for
Better english
Bump version