added support for execution order for "Before" and "After" hook. closes #807

Since the original method was accepting varargs (```Object... args```) as parameter, there was almost no way to add new method with proper parameters, without breaking backward compatibility. 


That would never have worked with the `==` anyway - glad to see that gone.