- Separate into Connect and EstablishConnection step. - Remove redundant null checks for returned data. - Only assing PLC stream object once we fully established a connection, and Close otherwise. - Replace sync implementation with Async call.