Split utility functions out

This starts the transition towards breaking things out into utility
functions that can be individually tested.  This should make it
easier in the long run to handle configurations such as nested
serializers
Increase the verbosity of tests