Factoring out unneccessary Generics