Dropping a few 'ifs' by pushing logic into cell inheritance tree