simple observer and specializing example