Move NetworkStateMonitor to own package