Reworked Factory, the end goal is to have it running an arduino, std::string still needs to be removed