Decoupled model and rendering