Use the observer pattern to better divide your objects' responsibilities.
James Golick
gem "observational", "~> 0.2.5"