refactor - consolidating pure design patterns by design pattern type to reduce file count