We consider systems that can be described by a linear part with a nonlinear perturbation, where the perturbation is parameterized by a vector of unknown, constant parameters. Under a set of technical assumptions about the perturbation and its relationship to the outputs, we present a modular observer design technique. The observers produced by this design technique consist of a modified high-gain observer that estimates the states of the system together with the full perturbation, and a parameter estimator. The parameter estimator is constructed by the designer to identify the unknown parameters by dynamically inverting a nonlinear equation. We illustrate the design technique by constructing an observer for a DC motor with friction modeled by the dynamic LuGre friction model.