We noticed huge load spikes with the latest changes. This was caused by the modbus goroutine blocking the entire daemon for long periods of time while doing its data transfer. Fix this by only holding the lock while performing data accesses.