While attempting a little idea in my mind, I tried implementing my own cake engine (by implementing ICakeEngibe) but faced following issue:
CakeTaskBuilder(CakeTask task) is marked as internal and the class itself is sealed. So I cannot implement my own CakeTaskBuilder ICakeEngine.RegisterTask(string name) in the new cake-engine class (on the same lines as the original one. Also CakeEngine itself is marked as sealed. So I cannot subclass it and override some functionality.
As suggested on the chat, I am opening this issue so that the cake can be refactored to make it more extensible (after discussing it here).
Thanks.