See `_update_dto` in midonet_lib.py. The idea is that midonet_lib knows if some resource needs to be updated, so it makes sense to defer the fetching of the resource until we're absolutely sure we're going to update it. To avoid having these checks everywhere I created the `_update_dto` and `_fill_dto` abstractions. `_update_dto` uses `_fill_dto`, which does the check and set code, but passes it a lazy value instead of the actual resource, which gets fetched on the first access to that lazy value.