Added properties pattern to trainer class