Learnings from creating a GUI library