new recast method, data trait, data_handler trait, and _apply_data_handler trait for taking and utilizing data to modify attr=True traits