Refactor `select` and add `deselect` callback
Release 0.1.1