А что не так с функциональным подходом по вашему? :)
А в каком языке не нужно следить за этим?
Может экстеншн течет?