send to public_send.
Rework the way complex criteria works.
attr_accessor to attr_reader