indentation
adding callbacks should be private
remove evaled belongs_to counter cache method
push before_destroy counter cache method to a single method
push belongs_to counter cache method to a single method
use attribute methods for finding key values rather than generating method names
check whether the association is constructible rather than checking constants
remove unused variable
push the touch method outside the eval
expose a few attribute changed methods
stop adding a new method for touch callbacks
bind values should not be merged between scopes