I have a feeling this `data` could be a separate object, but I stashyed those changes for now.