Separate model creation/destruction from DSL