refactored Interceptor.Intercept to use a set of strategies. Function was broken in 8 separated strategies
Added an enum as a result of a single interception strategy to clarify when following action need to be executed
added remaining overloads to Verify