Вы можете добавить все поведение, которое вы хотите, к вашим контрактам данных. Вы должны четко задокументировать тот факт, что поведение не будет видно клиентам, иначе кто-то будет разочарован позже. Также задокументируйте тот факт, что необходимо позаботиться о том, чтобы не добавлять какие-либо зависящие от реализации данные в контракт данных, поскольку это не то, что вы хотите передать клиентам.
В целом, я думаю, вам было бы лучше, если бы контракты на данные были контрактами на данные и не учитывали их поведение.