Add signals module with register() function