introduced Chain pattern + Router/Controller refactoring