Add signals. Split renderer out from generator