Instead of direct rendering, Renderable::Render() can return a command buffer, and submit command buffer later.