Added proper event listener cleanup
Added on-demand model get