lay out the dispatching mechanism for update

nothing actually works yet, but there are placeholders for all the
methods