Update as a mixin to support components that is both renderable and updateable