cache trait lookups in constructor