Major Refactor

 - Removed move, could be put back in with a better architected solution
 - Removed __buffer__
 - Removed pause, resume, flush
 - Added hide
 - Diffs now alter themselves to be up to date