Add signaler interface to avoid state leak of shutdown chan