Building a Micro-frontend Framework