When developing a module's theming functions, should you use "template_preprocess..." or "mymodulename_preprocess..."? I got into a discussion with co-workers today after reviewing some code on a Drupal 6 project.

When creating a module, I tend to define all template preprocessor functions by including the module name

function mymodulename_preprocess_news_item(&amp;$vars){ ... }


If another module/theme needs to override/expand this, I add the function definition with the new module/theme name.  This is how I've come to understand the theme layer to work.

My co-worker's mentioned that I should be using the following instead for custom preprocessor definitions:

function template_preprocess_news_item(&amp;$vars){ ... }


According to the documentation on theme(), template_preprocess gets executed before anything else so I'm leaning towards agreeing with my co-workers since these are custom theme elements and the originating module should process the initial content.  

I am curious if there are any best practices/opinions out there on this matter.
Why not look at drupal core for best practice which favors template_process_X.

Also for some processors both template_preprocess and module_preprocess hooks can get called, see template_preprocess_block and system_preprocess_block as an example.