the very first thing that should happen when a new message arrives is that we should check to see if rule == nil. reason being is if a msg is received by sd before a rule is set, using rule.Key will throw a panic because it doesn't exist. It should be something like 
```
if rule == nil {
break
}
// rest of case msg code goes here 
```

this way sd will throw away all messages if there is no rule