Running in non-eager mode

To facilitate running in non-eager mode, can dispatched operations potentially be send to a new backend and cached as some nodes in a graph?

Secondly, in this flow could there be a way to specify that the graph building is complete? I believe pytorch/XLA is doing this but I am not sure how graph mode is executed.