Nonlinear observer design with general criteria