we use absolute IDs since you can place signals/crossroads anywhere you want to and you can use map and paths config to change the location easily. There is a big a chance that signals is being used elsewhere in the app so using an unique ID is better.
On the end of the library you should define it as:
define(['./signals'], factory);
instead of:
define(['signals'], factory);