Move the attribute extraction functionality to its own service.