a lot of refactoring; trying to follow apache's plugin style

using prioritized list of handlers for the same trigger(method_name)