Instead of trying to create a single handler for both reactive and non-reactive implementations, this commit splits the implementations.
Instead of trying to create a single handler for both reactive and non-reactive implementations, this commit splits the implementations.