Should definitely be possible to do this. You can use RX, raise an event, and of course use an IObserver (I'd probably go with this). For more information you want to search for DataPipe. I'd recommend starting here: How to use the PIDataPipe or the AFDataPipe
The AFDataPipe is for AF attributes (they can be pi point types) and the PIDataPipe is for PI values.