Finish refactor dispatcher to signal