Ruby OOD patterns