Put listeners in a vector and improve UI listeners