test, remove #overlay every time
change signature of confirm, pass callback on show
extract offset calculation
add comments, singleton