Is there a reason to have this be a separate trait?