diff --git a/data/ui/add_feed_popover.blp b/data/ui/add_feed_popover.blp
index 13806f5..b61f2ea 100644
--- a/data/ui/add_feed_popover.blp
+++ b/data/ui/add_feed_popover.blp
@@ -1,6 +1,6 @@
 using Gtk 4.0;
 
-template AddFeedPopover : Gtk.Popover {
+template $AddFeedPopover : Gtk.Popover {
     autohide: true;
     Gtk.Box container_box {
         width-request: 290;
@@ -18,13 +18,13 @@ template AddFeedPopover : Gtk.Popover {
                 placeholder-text: 'https://…';
                 input-purpose: url;
                 hexpand: true;
-                activate => on_url_entry_activate();
-                changed => on_url_entry_changed();
+                activate => $on_url_entry_activate();
+                changed => $on_url_entry_changed();
             }
             Gtk.Button confirm_btn {
                 styles ['suggested-action']
                 label: _("Add");
-                clicked => on_confirm_btn_clicked();
+                clicked => $on_confirm_btn_clicked();
             }
         }
         Gtk.Revealer already_subscribed_revealer {
diff --git a/data/ui/empty_state.blp b/data/ui/empty_state.blp
index dbdbf2c..a9c91b9 100644
--- a/data/ui/empty_state.blp
+++ b/data/ui/empty_state.blp
@@ -1,7 +1,7 @@
 using Gtk 4.0;
 using Adw 1;
 
-template EmptyState : Adw.Bin {
+template $EmptyState : Adw.Bin {
     Adw.StatusPage {
         styles ['navigation-sidebar']
         title: _("Let's get started");
diff --git a/data/ui/filter_view.blp b/data/ui/filter_view.blp
index 7b5e0a3..9c060d3 100644
--- a/data/ui/filter_view.blp
+++ b/data/ui/filter_view.blp
@@ -2,7 +2,7 @@ using Gtk 4.0;
 using Adw 1;
 
 
-template FilterView : Adw.Bin {
+template $FilterView : Adw.Bin {
     styles ['background']
     ScrolledWindow {
         hscrollbar-policy: never;
@@ -13,13 +13,13 @@ template FilterView : Adw.Bin {
             ListBox all_listbox {
                 styles ['navigation-sidebar']
                 selection-mode: single;
-                row-activated => on_all_row_activated();
+                row-activated => $on_all_row_activated();
             }
             Separator { orientation: horizontal; margin-start: 6; margin-end: 6; }
             ListBox tags_listbox {
                 styles ['navigation-sidebar']
                 selection-mode: single;
-                row-activated => on_tags_row_activated();
+                row-activated => $on_tags_row_activated();
             }
             Separator { orientation: horizontal; margin-start: 6; margin-end: 6; }
             Adw.Bin feeds_listbox_bin {}
diff --git a/data/ui/left_headerbar.blp b/data/ui/left_headerbar.blp
index 113a839..10e0195 100644
--- a/data/ui/left_headerbar.blp
+++ b/data/ui/left_headerbar.blp
@@ -20,7 +20,7 @@ menu generalMenu {
     }
 }
 
-template LeftHeaderbar : WindowHandle {
+template $LeftHeaderbar : WindowHandle {
     vexpand: false; hexpand: true;
     Adw.HeaderBar left_headerbar {
         [title] Adw.Bin {}
@@ -40,7 +40,7 @@ template LeftHeaderbar : WindowHandle {
         [end] Button refresh_btn {
             tooltip-text: _("Refresh");
             icon-name: 'view-refresh-symbolic';
-            clicked => on_refresh_btn_clicked();
+            clicked => $on_refresh_btn_clicked();
         }
         [end] ToggleButton search_btn {
             tooltip-text: _("Search");
@@ -50,7 +50,7 @@ template LeftHeaderbar : WindowHandle {
             tooltip-text: _("There Are Errors");
             icon-name: 'dialog-warning-symbolic';
             visible: false;
-            clicked => show_errors_dialog();
+            clicked => $show_errors_dialog();
         }
     }
 }
diff --git a/data/ui/main_leaflet.blp b/data/ui/main_leaflet.blp
index c2e49f5..8fe5d27 100644
--- a/data/ui/main_leaflet.blp
+++ b/data/ui/main_leaflet.blp
@@ -1,20 +1,20 @@
 using Gtk 4.0;
 using Adw 1;
 
-template MainLeaflet : Adw.Bin {
+template $MainLeaflet : Adw.Bin {
     Adw.Leaflet leaflet {
         homogeneous: false;
         can-navigate-back: true;
         transition-type: over;
         visible-child: left_box;
-        notify::folded => on_leaflet_folded();
+        notify::folded => $on_leaflet_folded();
         Adw.LeafletPage left_page {
             child: Gtk.Box left_box {
                 hexpand: false;
                 orientation: vertical;
                 width-request: 360;
                 height-request: 100;
-                .LeftHeaderbar left_headerbar {
+                $LeftHeaderbar left_headerbar {
                     searchbar: searchbar;
                 }
                 SearchBar searchbar {
@@ -50,9 +50,9 @@ template MainLeaflet : Adw.Bin {
                     reveal-flap: false;
                     swipe-to-open: true;
                     swipe-to-close: true;
-                    [flap] .FilterView filter_view {}
-                    [content] .StackWithEmptyState sidebar_stack {
-                        main-widget: .GFeedsSidebar sidebar {
+                    [flap] $FilterView filter_view {}
+                    [content] $StackWithEmptyState sidebar_stack {
+                        main-widget: $GFeedsSidebar sidebar {
 
                         };
                     }
@@ -66,11 +66,11 @@ template MainLeaflet : Adw.Bin {
         Adw.LeafletPage right_page {
             child: Gtk.Box right_box {
                 orientation: vertical;
-                .RightHeaderbar right_headerbar {
+                $RightHeaderbar right_headerbar {
                     webview: webview;
-                    go_back => on_back_btn_clicked();
+                    go_back => $on_back_btn_clicked();
                 }
-                .GFeedsWebView webview {}
+                $GFeedsWebView webview {}
             };
         }
     }
diff --git a/data/ui/manage_feeds_headerbar.blp b/data/ui/manage_feeds_headerbar.blp
index 8e862a9..ea130ec 100644
--- a/data/ui/manage_feeds_headerbar.blp
+++ b/data/ui/manage_feeds_headerbar.blp
@@ -1,7 +1,7 @@
 using Gtk 4.0;
 using Adw 1;
 
-template ManageFeedsHeaderbar : Gtk.HeaderBar {
+template $ManageFeedsHeaderbar : Gtk.HeaderBar {
     show-title-buttons: true;
     [title] Adw.WindowTitle {
         title: _("Manage Feeds");
diff --git a/data/ui/manage_tags_content.blp b/data/ui/manage_tags_content.blp
index b6b009f..b47f99d 100644
--- a/data/ui/manage_tags_content.blp
+++ b/data/ui/manage_tags_content.blp
@@ -1,7 +1,7 @@
 using Gtk 4.0;
 using Adw 1;
 
-template ManageTagsContent : Adw.Bin {
+template $ManageTagsContent : Adw.Bin {
     styles ['background']
     Box {
         spacing: 6;
@@ -16,14 +16,14 @@ template ManageTagsContent : Adw.Bin {
             Entry tags_entry {
                 placeholder-text: _("New tag name…");
                 hexpand: true;
-                changed => on_tags_entry_changed();
-                activate => on_submit_add_tag();
+                changed => $on_tags_entry_changed();
+                activate => $on_submit_add_tag();
             }
             Button add_tag_btn {
                 styles ['suggested-action']
                 tooltip-text: _("Add Tag");
                 icon-name: 'list-add-symbolic';
-                clicked => on_submit_add_tag();
+                clicked => $on_submit_add_tag();
             }
         }
         Separator { orientation: horizontal; }
@@ -34,7 +34,7 @@ template ManageTagsContent : Adw.Bin {
                 ListBox tags_listbox {
                     styles ['navigation-sidebar']
                     selection-mode: none;
-                    row-activated => on_tags_listbox_row_activated();
+                    row-activated => $on_tags_listbox_row_activated();
                     [placeholder] Adw.StatusPage {
                         title: _("There are no tags yet");
                         description: _("Add some using the entry above");
diff --git a/data/ui/manage_tags_listbox_row.blp b/data/ui/manage_tags_listbox_row.blp
index 21124d2..0350c8f 100644
--- a/data/ui/manage_tags_listbox_row.blp
+++ b/data/ui/manage_tags_listbox_row.blp
@@ -1,6 +1,6 @@
 using Gtk 4.0;
 
-template ManageTagsListboxRow : ListBoxRow {
+template $ManageTagsListboxRow : ListBoxRow {
     Box main_box {
         spacing: 6;
         orientation: horizontal;
@@ -12,7 +12,7 @@ template ManageTagsListboxRow : ListBoxRow {
             styles ['destructive-action']
             margin-start: 12;
             icon-name: 'user-trash-symbolic';
-            clicked => on_delete_btn_clicked();
+            clicked => $on_delete_btn_clicked();
         }
     }
 }
diff --git a/data/ui/right_headerbar.blp b/data/ui/right_headerbar.blp
index 992dfa6..b033c20 100644
--- a/data/ui/right_headerbar.blp
+++ b/data/ui/right_headerbar.blp
@@ -3,7 +3,7 @@ using Adw 1;
 
 menu webviewMenu {
     section {
-        item { custom: zoom; }
+        item { custom: 'zoom'; }
     }
     section {
         item (_("Open in _Browser"), 'app.open_externally')
@@ -42,25 +42,25 @@ PopoverMenu extra_popover {
             styles ['flat', 'circular']
             icon-name: 'zoom-out-symbolic';
             tooltip-text: _("Zoom Out");
-            clicked => on_zoom_out_btn_clicked();
+            clicked => $on_zoom_out_btn_clicked();
         }
         Button zoom_reset_btn {
             styles ['flat']
             label: '100%';
             width-request: 80;
             tooltip-text: _("Reset Zoom");
-            clicked => on_zoom_reset_btn_clicked();
+            clicked => $on_zoom_reset_btn_clicked();
         }
         Button zoom_in_btn {
             styles ['flat', 'circular']
             icon-name: 'zoom-in-symbolic';
             tooltip-text: _("Zoom In");
-            clicked => on_zoom_in_btn_clicked();
+            clicked => $on_zoom_in_btn_clicked();
         }
     }
 }
 
-template RightHeaderbar : WindowHandle {
+template $RightHeaderbar : WindowHandle {
     vexpand: false; hexpand: true;
     Adw.HeaderBar right_headerbar {
         hexpand: true;
@@ -89,7 +89,7 @@ template RightHeaderbar : WindowHandle {
             visible: false;
             tooltip-text: _("Back to Articles");
             icon-name: 'go-previous-symbolic';
-            clicked => on_back_btn_clicked();
+            clicked => $on_back_btn_clicked();
         }
         MenuButton view_mode_menu_btn {
             sensitive: false;
diff --git a/data/ui/sidebar_listbox_row.blp b/data/ui/sidebar_listbox_row.blp
index 2e873bd..fbeb032 100644
--- a/data/ui/sidebar_listbox_row.blp
+++ b/data/ui/sidebar_listbox_row.blp
@@ -7,7 +7,7 @@ menu row_menu {
     }
 }
 
-template SidebarRow : Box {
+template $SidebarRow : Box {
     spacing: 6;
     orientation: vertical;
     margin-top: 12; margin-bottom: 12;
diff --git a/data/ui/webview.blp b/data/ui/webview.blp
index c1c68de..55dc2b3 100644
--- a/data/ui/webview.blp
+++ b/data/ui/webview.blp
@@ -2,7 +2,7 @@ using Gtk 4.0;
 using WebKit 6.0;
 using Adw 1;
 
-template GFeedsWebView : Stack {
+template $GFeedsWebView : Stack {
     width-request: 360; height-request: 400;
     hexpand: true; vexpand: true;
     transition-type: crossfade;
@@ -40,9 +40,9 @@ template GFeedsWebView : Stack {
             hexpand: true; vexpand: true;
             WebKit.WebView webkitview {
                 hexpand: true; vexpand: true;
-                load-changed => on_load_changed();
-                decide-policy => on_decide_policy();
-                mouse-target-changed => on_mouse_target_changed();
+                load-changed => $on_load_changed();
+                decide-policy => $on_decide_policy();
+                mouse-target-changed => $on_mouse_target_changed();
             }
         }
     }
diff --git a/gfeeds/base_app.py b/gfeeds/base_app.py
index 0ace634..a414cf2 100644
--- a/gfeeds/base_app.py
+++ b/gfeeds/base_app.py
@@ -24,7 +24,7 @@ class AppAction:
         self.state_type = state_type
         self.state_default = state_default
 
-        assert not self.stateful or self.state_default is not None
+        assert (not self.stateful or self.state_default is not None)
 
     def get_action(self):
         action = None
