Can also be cached per class