Make FunkSVD use an updater object

This adds an updater object to FunkSVD, providing a template for doing so in #437.