Job objects + generics casting performance + refactoring