Don't call a useless getPrice on edit(price=x)
Base.edit has this feature of not actually modifying the properties when
the new property value is same as the current one, so when we do
movement.edit(price=x)
, this will cause an implicit getPrice.
As price lookup is a bit slow, do not lookup price in this case.