Split out BMM_GENERIC_CLASS from BMM_CLASS
Update documentation