I feel like we keep duplicating `id` value checking...

What do you think about this approach:

```
var model; // a reference to a model instance

var hasId = !!model.getIdValue();

// same as
hasId = model.hasIdValue();

// both getIdValue and hasIdValue could be contributed by the connector... so they may be connector specific... otherwise they delegate to the generic implementation...
```