tracked down what was missing to allow the magic signature to be private. VC++ pointed me to the exact fault, while clang++ was not overly helpful.