Slate-object interface for updaters (SlateUpdater)

This branch is based on work on the object-slate branch by ambujsingh, tweaked for compatibility.