Updates the specified <code>Selectable</code> either emitting a
{@link Type#SELECTABLE_UPDATED} event if the selectable is not terminal,
or {@link Type#SELECTABLE_FINAL} if the selectable is terminal and has
not already emitted a {@link Type#SELECTABLE_FINAL} event.
@param selectable
Updates the specified <code>Selectable</code> either emitting a {@link Type#SELECTABLE_UPDATED} event if the selectable is not terminal, or {@link Type#SELECTABLE_FINAL} if the selectable is terminal and has not already emitted a {@link Type#SELECTABLE_FINAL} event. @param selectable