I am quite new to the Framework, and I was wondering how one can construct an ExecutionModel that consumes Minute, Tick,... data in order to execute an order at the most optimal time, e.g. something like onData() which currently does not exist in ExecutionModel? Also, how many times is Execute() called in ExecutionModel? e.g. what if the ExecutionModel is not able to execute an order for one or the other reason (example : network problems, markets closed,....). Does ExecutionModel need to be stateless, or is it expected to manage its own state ?