Todo:  get rid the 'exclude' blacklist as it is being deprecated and is an antipattern anyway.  Replace with 'fields' which is a whitelist of fields to include.  Prevents accidentally exposing new fields to the user.