You can consider AlphaModel and ExecutionModel as two different agents, but they're not independent here as the data will be piped sequentially through the Algorithm Framework modules, i.e. :
UniverseSelection --> Alpha --> PortfolioConstruction --> RiskManagement --> Execution
>> The ExecutionModel does not have to provide an Insight, just execute wat was decided before, but it must be able to do so using its own insights. <<
What do you mean by "using its own inisghts"? Can you provide an example?
>> the ExecutionModel I want to build is based on some machine learning principles whereby it will consume Minute bar data to choose the ideal moment to execute a trade, wheres the AlphaModel will consume Day bar data on the same Symbol [...] <<
If you need Minute Resolution data in your algorithm then you have to subscribe to Minute Resolution anyway for the corresponding symbols. Accordingly, the method Update() in your AlphaModel will be called every minute. On this point at least, it shouldn't be a problem to move the code to the AlphaModel.
Nevertheless, there might be cases which are not suited for the Algorithm Framework, and, if so, you should not hesitate to use the classic style (with OnData() as primary entry point).