Use of boost::make_shared in parser: FromFactory part1