Buffers
  modify
    - if dirty alert user (immediately if focused, or on next focus)
    - if clean update contents

  remove
    - mark file as unsaved (but maintains previous path)
    - only unsubscribe from KQueue
    - attempt to resubscribe after timeout (because of git weirdness)

  move file
    - update path

  move ancestor directory
    - update path on focus and save

  recreated after remove (at same path)
    - resubscribe on focus or save