First try for a buffer historic
Add a complete historic, with undo and redo methods