Updated ClassDiagram with Pattern Notes and refactoring