updated design issues with generics in my Audit setup