I also came across some talk of creating signals/events from scratch, but Signal.d and Event.d don't seem to have functions to do that.

I'm assuming this would be possible using functions.d and (what?) wrapping it? Totally lost on this one, so any ideas/suggestions will be appreciated.