made repl callback a signal so that it can have multiple recievers