Add a new method on ICommandContext.
refactor the retry implementation.
Merge remote-tracking branch 'upstream/master'
Fix the Message cannot be serialize issue.
Merge remote-tracking branch 'upstream/master'
upgrade, refine etc..