[REFACTOR] separate collections and methods
[REFACTOR] separate router
[REFACTOR] separate publications
[REFACTOR] client-side layout
[REFACTOR] other client-side components