the name of this class may not so clear and lots of dev/contributor may misunderstand it, after discussion on IRC, we think ValueHolder seems better, please note, this class can hold a value in both deferred and not way.