A reactive event and observer layer for LucreSTM