jQuery - Encadenamiento de funciones personalizadas

Me pregunto cómo encadenar mis funciones personalizadas y mantener el contexto de 'esto'.

Ejemplo:

$.fn.foo = function() {
  var html = '<div class="foo"></div>';
  if ($(this).hasClass(somthing) {
    $(this).prepend(html);
  }
}

$.fn.bar = function() {
  var html = '<h3>bar</h3>';
  $(this).find('.foo').prepend(html);
}

$('body').foo().bar();

Cuando trato de usar este código obtengo unTypeError: no se puede leer la propiedad 'barra' de indefinido

Respuestas a la pregunta(2)

Su respuesta a la pregunta