make diff just part of component renderer prototype
use assign instead of merge
Merge branch 'diff'