merge with upstream
promote getValue() to interface
Merge pull request #7 from huayueh/master

Promote T getValue() from abstract class to interface.