Updated so that it works correctly for variable expanding.

  Now we have a sane method we can knock-out the rest of the
 plugins.
  Use the new plugin API.

  When we call "fields()" to get the variable definitions
 we now pass them through the plugin API.