Make GeneProvider pure virtual, create CharProvider example.