diff --git a/roles/gaming/handlers/main.yml b/roles/gaming/handlers/main.yml
new file mode 100644
index 0000000..9b4f7bc
--- /dev/null
+++ b/roles/gaming/handlers/main.yml
@@ -0,0 +1,6 @@
+---
+- name: Update pacman cache
+  become: true
+  pacman:
+    update_cache: true
+  when: ansible_facts['distribution'] == 'Archlinux'
diff --git a/roles/gaming/tasks/main.yml b/roles/gaming/tasks/main.yml
index e6578cd..3147eef 100644
--- a/roles/gaming/tasks/main.yml
+++ b/roles/gaming/tasks/main.yml
@@ -9,6 +9,10 @@
     regexp: '^#\[multilib\]\n#(Include.*)'
     replace: '[multilib]\n\1'
     backup: true
+  notify: Update pacman cache
+
+- name: Flush handlers
+  meta: flush_handlers
 
 - name: Install packages
   become: true
@@ -65,5 +69,9 @@
       - lib32-gst-plugins-base-libs
       - vulkan-icd-loader
       - lib32-vulkan-icd-loader
-    update_cache: true
   when: ansible_facts['distribution'] == 'Archlinux'
+
+- name: Add ~/Games directory
+  file:
+    path: ~/Games
+    state: directory