Can we reuse macros across components? Currently the signature is almost the same. _Originally posted by @yhl25 in https://github.com/numaproj/numaflow/pull/3178#pullrequestreview-3741768506_ * `source_forwarder.rs` * `map_forwarder.rs` * should we need a macro in `reduce_forwarder.rs`?