Move behaviour out of abstract class.