Shifting internal val functionality to common trait