First primary refactoring
Moved rev to AbstractDocument
Added missing Classes
Started on View