This method is kiiiinda long. Seems like creating the snippet and binding the handlers should be separate methods called by this one, no?