PSR4 compliance & generic aware objects