How do I set the Views Plugin handler path different from the theme path? The file path of the module is set up like this:

addressfield/views/addressfield.views.inc
addressfield/views/addressfield_plugin_row_jmappingfields.inc
addressfield/views/addressfield_plugin_style_jmapping.inc
addressfield/theme/addressfield-jmapping-view.tpl.php
addressfield/theme/addressfield-view-jmappingfields.tpl.php


The problem is I can not figure out how to set the path in the plugin definition for the View. If I set the 'theme path' key to drupal_get_path('module', 'addressfield'). '/views' the handlers will register but the themes can not be found and vis versa. 

/**
 * @file
 *  Provide the Addressfield plugin definition.
 */

function addressfield_views_plugins() {
  $path = drupal_get_path('module', 'addressfield') . '/views';
  return array(
    'module' =&gt; 'addressfield',
    'style' =&gt; array(
      'jmapping' =&gt; array(
        'title' =&gt; t('jMapping'),
        'help' =&gt; t('Display a view jMapping map.'),
        'handler' =&gt; 'addressfield_plugin_style_jmapping',
        'theme' =&gt; 'addressfield_jmapping_view',
        'theme path' =&gt; $path,
        'uses row plugin' =&gt; TRUE,
        'uses options' =&gt; TRUE,
        'uses grouping' =&gt; TRUE,
        'type' =&gt; 'normal',
        'parent' =&gt; 'default',
      ),
    ),
    'row' =&gt; array(
      'jmappingfields' =&gt; array(
        'title' =&gt; t('jMapping Fields'),
        'help' =&gt; t('Choose the fields to display in the jMapping Map.'),
        'handler' =&gt; 'addressfield_plugin_row_jmappingfields',
        'theme' =&gt; 'addressfield_view_jmappingfields',
        'theme path' =&gt; $path,
        'uses fields' =&gt; TRUE,
        'uses options' =&gt; TRUE,
        'type' =&gt; 'normal',
      ),
    ),
  );
}


How do I keep the theme templates for the style plugin and the handlers in separate folders for clarity?

I'm using Views 3 in Drupal 7.
You should create an addressfield/theme/theme.inc that contains the template_preprocess_addressfield_* functions. Then add: $theme_path = drupal_get_path('module', 'addressfield') . '/theme'; at the top.

'handler' =&gt; 'addressfield_plugin_style_jmapping',
'path' =&gt; $path,
'theme' =&gt; 'addressfield_jmapping_view',
'theme path' =&gt; $theme_path,
'theme file' =&gt; 'theme.inc',


That should work just fine.