Adding new objects to a clientside array - best practices?
<p>Say you have a list of "vehicles" - you have an observableArray of these ko.observable()s.  </p>

<p>You let your user add a new vehicle with the following: </p>

<pre><code>var emptyVehicle = {
    "make": "chevrolet",
    "model": "corvette"
};
app.on('CLICKED_ADD_VEHICLE', function () {
            var vehicle = new vehicleViewModel(emptyVehicle);
            vehicle.hasWheels(true);
            innerModel.sets.push(set);
        });
</code></pre>

<p>If they save the vehicle, you get a real vehicle from your dataservice, and then replace the blank one with this: </p>

<pre><code>app.on('CLICKED_SAVE', function (oldVehicle) {
            var newVehicle = new vehicleViewModel(dataservice.createVehicle(oldVehicle));
                    innerModel.vehicles.remove(oldVehicle);
                    innerModel.vehicles.push(newVehicle);
        });
</code></pre>

<p>I know I'm leaving some code out here, but this is more of a practices/approach question than a code question.  Is this an acceptable approach to adding new items to a list?  New up a temporary template, and throw it away in place of an actual item if the user saves?  </p>
