use different method for hook and filter events.
moved many logics to other methods.
simplify code by introducing findLocator method.
make sure all the possible inputs are covered.
simplify code by introducing muteBackDateTime method.