Interaction: fix exclusive bind, tweak API