Declarative routing layer for React applications