improve Factory::createFromString method
bug fix AbstractSegment
Factory is now a Abstract class
adding exchange method to components classes