Signals is a small framework that allows you to decouple logic between objects in your game. It is often required to notify another object that an event has happened. The traditional way is to directly reference all objects about this event directly. This means that the object causing the event has to know about every object that needs to react. This can cause bugs when those objects do not exist, and makes managing the code messy.
Signals is modeled after the Godot game engines' signals system. It easily allows you to connect instances to a custom event type, and then raise that event from anywhere. You can specify a script to play per instance and send arguments with the event, or you can specify for a user event to play.