insert-on-click automatically evaluates (or runs a command)
rewrote local binding part to use internal define instead of let