Which is better, passing parameters to an object or setting properties of the object? Is there some kind of thumb rule to make the decision?