How to Send Email from within a custom module (with or without an email template)

How to Send Email from within a custom module (with or without an email template)

It is possible to send an email from the Deals module. However, I can't find a way to send an email from any of our custom modules. I have tried adding an email field to the modules (even though we don't really want one or need it there). That doesn't make a difference. 

The reason we want to do this is two-fold:
1) We need to send emails using email templates from our custom modules (because the email must include merge fields for details specific to the custom module).
2) We want to see when standard emails were sent in association with the custom module without having to go digging into various contacts to confirm the email was sent. 

Can anyone give us direction for dealing with this situation?