Add react function and reactions multimethod
Add recursive reactions and complete commit
Rename :indexes to :index