code: function resizableSlotEvent(event, eventElement, timeElement) {
  		var snapDelta, prevSnapDelta;
  		var snapHeight = getSnapHeight();
  		var snapMinutes = getSnapMinutes();
  		eventElement.resizable({
  			handles: {
  				s: '.ui-resizable-handle'
  			},
  			grid: snapHeight,
  			start: function(ev, ui) {
  				snapDelta = prevSnapDelta = 0;
  				hideEvents(event, eventElement);
  				trigger('eventResizeStart', this, event, ev, ui);
  			},
  			resize: function(ev, ui) {
  				// don't rely on ui.size.height, doesn't take grid into account
  				snapDelta = Math.round((Math.max(snapHeight, eventElement.height()) - ui.originalSize.height) / snapHeight);
  				if (snapDelta != prevSnapDelta) {
  					timeElement.text(
  						formatDates(
  							event.start,
  							(!snapDelta && !event.end) ? null : // no change, so don't display time range
  								addMinutes(eventEnd(event), snapMinutes*snapDelta),
  							opt('timeFormat')
  						)
  					);
  					prevSnapDelta = snapDelta;
  				}
  			},
  			stop: function(ev, ui) {
  				trigger('eventResizeStop', this, event, ev, ui);
  				if (snapDelta) {
  					eventResize(this, event, 0, snapMinutes*snapDelta, ev, ui);
  				}else{
  					showEvents(event, eventElement);
  					// BUG: if event was really short, need to put title back in span
  				}
  			}
  		});
  	}
docs: /* Resizing
  --------------------------------------------------------------------------------------