Signals are only available to GObject classes. They can only be public, which means that any part of the code can connect handlers and trigger them.
public class Emitter : Object {
// A signal is declared like a method,
// but with the signal keyword.
public signal void my_signal ();...