add loading transition + optimize the code
model-list component is now an independent widget (it will fetch the data by itself) + optimizations and css tuning