Guard access to wirelessNetworkInterface in wirelessNetwork
WirelessNetwork is managed as a shared pointer, wirelessNetworkInterface has a lifespan of the interface being alive.
Throughout this class access is guarded except in updateStrength, which comes from the access point so can still be active outliving the Network object.