First off, I wasn't sure where this should go since it affects all modules, the Drupal core (I think), and is related to theming. I ended up sticking it here in themes since it has more to do with the HTML content of modules than anything else.
Has anybody ever looked into better separating modules functionality and the HTML output they produce? I come from using XOOPS for a few sites and one thing I really liked about XOOPS was how easy it was to change the output of a module without really having to touch the code at all.
I'll give you an example that's based on something I'm trying to do on my in-progress site currently. In XOOPS using the template system, I could modify the user login block anyway I wanted to by opening up an html file and adjusting the look. I could change the look and feel of it without having to touch the module code that controlled it. When I try to do this with Drupal I'm left frustrated because within the user.module file isn't even pure HTML to edit and I have to go through core functions to try and get what I'm looking for (unsuccessfully).
Just for reference, what I'm trying to do is add a class attribute to the input tags for username and password so I can customize them individually in my theme's CSS file.
I'm not saying Drupal should be an XOOPS clone or anything like that, I'm plenty aware that "if I like XOOPS better I can go back to it." But the fact is I don't like XOOPS better, I like Drupal and I think Drupal could greatly benefit from a template system similar to XOOPS because it makes customizing module's output VERY simple, or at least a lot simpler than it is now in Drupal.