removeField(fieldID, animationSpeed = 250) {
    let fieldRemoved = false
    const _this = this
    const form = this.d.stage
    const fields = form.getElementsByClassName('form-field')

    if (!fields.length) {
      this.config.opts.notify.warning('No fields to remove')
      return false
    }

    if (!fieldID) {
      const availableIds = [].slice.call(fields).map(field => {
        return field.id
      })
      this.config.opts.notify.warning('fieldID required to remove specific fields.')
      this.config.opts.notify.warning('Removing last field since no ID was supplied.')
      this.config.opts.notify.warning('Available IDs: ' + availableIds.join(', '))
      fieldID = availableIds[availableIds.length-1]
    }

    const field = document.getElementById(fieldID)
    if (!field) {
      this.config.opts.notify.warning('Field not found')
      return false
    }

    const $field = $(field)
    const fieldRowWrapper = $field.closest(this.formBuilder.rowWrapperClassSelector)

    $field.slideUp(animationSpeed, function () {
      $field.removeClass('deleting')
      $field.remove()
      fieldRemoved = true
      _this.save()
      if (!form.childNodes.length) {
        form.classList.add('empty')
        form.dataset.content = mi18n.current.getStarted
      }
    })

    const userEvents = Object.assign({}, this.config.opts.typeUserEvents['*'], this.config.opts.typeUserEvents[field.type])

    if (userEvents && userEvents.onremove) {
      userEvents.onremove(field)
    }

    this.d.stage.dispatchEvent(new Event('fieldRemoved', { bubbles: true, cancelable: false} ))

    if (fieldRowWrapper.length) {
      this.removeContainerProtection(`${fieldID}-cont`)
      const timeout = setTimeout(() => {
        clearTimeout(timeout)
        $(document).trigger('checkRowCleanup', [{ rowWrapperID: fieldRowWrapper.attr('id') }])
      }, defaultTimeout)
    }

    return fieldRemoved
  }
Remove a given field from the stage or the last field if no fieldID is provided
@param  {string}  fieldID ID of the field to be removed
@param  {Number}  animationSpeed
@return {boolean} fieldRemoved returns true if field is removed