refactored model, pattern and persistence
refactored canvas creation + listeners and patternService