I wouldn't recommend extending Sitecore EXM in that sense. It would be error prone, upgradability of solution would be possibly harder and you can have much elegant solution using OOTB features (look below).
What we did in the past on one of our projects (Sitecore 8.2 + corresponding EXM) was to create API. This API was called from external system (in our case it was Dynamics 365) whether there was change on contact. If contact was new, we have created contact on Sitecore side and added it into corresponding Contact List based on some criteria. We also had some Segmented lists with conditions. We had Engagement Plan that was initialized once contact was created (registered) via triggering goal in Sitecore. You could do something similar and put there delay for few days to sent follow-up email or immediately send welcome email (which was our case).
With Sitecore 9.x you have broader options and if you use Live Events (https://doc.sitecore.com/developers/92/sitecore-experience-platform/en/live-event-detection.html) on Goal, Marketing Automation (formerly Engagement Plans) with trigger sending emails almost at no time when contact is created.