Wrap all of onReceive in IO, but no easy way to defer the .unsafePerformIO
Groundwork for rendering FMN notifications