# ToDo:
- favourite_button is actually a StateButton ? IconButton
- error_label is actually a PopupTextLabel ? DelayLabel
- make all widgets to have:
    - margins (in abstract frame)
    - padding (in abstract frame)
    - alignment (in abstract frame)
- make popup to be generic (configure different buttons (ok, cancel, no, yes)
- crete generic animation class to create simple animations
