sendEmail helper; cache widgets once loaded to prevent memory leak