The SDK Developer manual describes two ways to instantiate an object: static and dynamic.
The HOWTO manipulate Phases tutorial uses the first one:
PhaseIdeal<PhaseType::vapor> feed1;
while the HOWTO manipulate Streams uses the second one:
Stream *feed = my_cast<Stream *>(nodeFactory.create("StreamIdealLiquidVapor", Libpf::User::Defaults("test")), CURRENT_FUNCTION);
When should we use one or the other ?