Don't store values when all fields are reverted.
Allow your own plain old new method :)
Add more tests.
Fix the behavior when you reset the instance constructed by new.
Follow "Lite"'s way.
The lighter instance.