harder to digest because of nested controls and running through extra code needlessly.

$scope.updateInput() is also duplicated?