Introduce abstract class Action to handle classify or proxy
This way we only need to cast the rule to the right action type, then we can call methods on those objects instead of having switch case everywhere we need to know which rule or action we're dealing with.