add unbindKey, abstract helpers for assign and unbind, update tests for unbind