Not sure if this adds more complexity than it's worth, but since this overwrites the value specified the function, I'm thinking there would be some benefit to storing the 'original' values for those methods.

i.e. on Order __init__ this could be stored (better names could be thought of):

```
self.limit = limit_price
self.initial_limit = limit_price
```

Then the slippage would only manipulate the `limit` value.