Autocomplete behavior with array of object as source

Autocomplete behavior with array of object as source

I've noticed when you set your source as an array of objects, when you select an entry it set the value of the control to the value and not the label of the selected entry. See example:

I suppose that would make sense if the control your making into an autocomplete is a select, but mine is an input. This is because my source is actually a function that's retrieving remote data and return an array of objects.

Is there anyway to alter the behavior to put the label in the input instead? Currently achieving this by overwriting the ui.item.value in the select event, but that seems pretty hacky: