Split into classes, added named arguments.
Merge remote-tracking branch 'origin/TestWithOpcUaSdk' into TestWithOpcUaSdk