* refactor mdns to reduce code complexity
* unit tests
