Fixed the whole damn thing.

Migrated the entire project and cleaned it up. The bug was due to
std::string being passed into std::remove (which should have been taking
a const char).