Add a type based cache