diff --git a/lib/aethyr/core/actions/action.rb b/lib/aethyr/core/actions/action.rb
new file mode 100644
index 0000000000000000000000000000000000000000..8c4448c19322379bb99ea3a2ac90487d591acb5b
--- /dev/null
+++ b/lib/aethyr/core/actions/action.rb
@@ -0,0 +1,14 @@
+module Aethyr
+  module Core
+    module Actions
+      class Action
+        def initialize(**data)
+          @data = data.freeze
+        end
+
+        def action()
+        end
+      end
+    end
+  end
+end
diff --git a/lib/aethyr/core/actions/command_action.rb b/lib/aethyr/core/actions/command_action.rb
new file mode 100644
index 0000000000000000000000000000000000000000..31c844a5cf62a90e7d052c99e5e607d7d95af0cc
--- /dev/null
+++ b/lib/aethyr/core/actions/command_action.rb
@@ -0,0 +1,14 @@
+require "aethyr/core/actions/action"
+
+module Aethyr
+  module Core
+    module Actions
+      class CommandAction < Action
+        def initialize(actor, **data)
+          super(**data)
+          @player = actor
+        end
+      end
+    end
+  end
+end
diff --git a/lib/aethyr/core/commands/admin/acarea.rb b/lib/aethyr/core/actions/commands/admin/acarea.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/acarea.rb
rename to lib/aethyr/core/actions/commands/admin/acarea.rb
index 5125809fcd3ebd3ddbd3064165c040aebc35538b..58cf7b3e65a6d8a7a6052ade5075028c0d7812d0 100644
--- a/lib/aethyr/core/commands/admin/acarea.rb
+++ b/lib/aethyr/core/actions/commands/admin/acarea.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/acdoor.rb b/lib/aethyr/core/actions/commands/admin/acdoor.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/acdoor.rb
rename to lib/aethyr/core/actions/commands/admin/acdoor.rb
index 331c4cef074d238fd521e609b262f97c2f510db8..367d810a3641b4ce30b2aebf7f6c8f3220db12a1 100644
--- a/lib/aethyr/core/commands/admin/acdoor.rb
+++ b/lib/aethyr/core/actions/commands/admin/acdoor.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/acexit.rb b/lib/aethyr/core/actions/commands/admin/acexit.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/acexit.rb
rename to lib/aethyr/core/actions/commands/admin/acexit.rb
index d96af322c552eeb7aa7bc9a34e8d39531bc46d20..ba1e2048c21f306d70eeac020c65f2a0f46f5ca9 100644
--- a/lib/aethyr/core/commands/admin/acexit.rb
+++ b/lib/aethyr/core/actions/commands/admin/acexit.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/acomm.rb b/lib/aethyr/core/actions/commands/admin/acomm.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/acomm.rb
rename to lib/aethyr/core/actions/commands/admin/acomm.rb
index 1fb9fb62f77d4d5075ce01ac1128bad7b30d436f..2f2db1a6038e3d7a855a7ba1bfdabf9ba8d5fc4b 100644
--- a/lib/aethyr/core/commands/admin/acomm.rb
+++ b/lib/aethyr/core/actions/commands/admin/acomm.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/acomment.rb b/lib/aethyr/core/actions/commands/admin/acomment.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/acomment.rb
rename to lib/aethyr/core/actions/commands/admin/acomment.rb
index f5ad72398ad5f052b3208f59773033747a96651a..4c7df10d19581f4627462645debf1843aae409d9 100644
--- a/lib/aethyr/core/commands/admin/acomment.rb
+++ b/lib/aethyr/core/actions/commands/admin/acomment.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/aconfig.rb b/lib/aethyr/core/actions/commands/admin/aconfig.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/aconfig.rb
rename to lib/aethyr/core/actions/commands/admin/aconfig.rb
index c3296f205dc485974715e8ed52c34fc453cd0449..ed16361a2cdd616da0a10f19b2b6d496ff36ee26 100644
--- a/lib/aethyr/core/commands/admin/aconfig.rb
+++ b/lib/aethyr/core/actions/commands/admin/aconfig.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/acportal.rb b/lib/aethyr/core/actions/commands/admin/acportal.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/acportal.rb
rename to lib/aethyr/core/actions/commands/admin/acportal.rb
index 55b6858a06e798d674921cebb97bb582b5024818..e7b6a06ae0d0f77276e4314d978f0a887f00861d 100644
--- a/lib/aethyr/core/commands/admin/acportal.rb
+++ b/lib/aethyr/core/actions/commands/admin/acportal.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/acprop.rb b/lib/aethyr/core/actions/commands/admin/acprop.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/acprop.rb
rename to lib/aethyr/core/actions/commands/admin/acprop.rb
index 15330f109dbe713487196aad42ff3519124c0795..e59add52ea9da9e72753672f3e08bbba7478270c 100644
--- a/lib/aethyr/core/commands/admin/acprop.rb
+++ b/lib/aethyr/core/actions/commands/admin/acprop.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/acreate.rb b/lib/aethyr/core/actions/commands/admin/acreate.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/acreate.rb
rename to lib/aethyr/core/actions/commands/admin/acreate.rb
index ace434f3e6e728c466c333f9c265b253862a6fbe..2ef97997d7b8d47c1b7363181d7bc4ed5746a490 100644
--- a/lib/aethyr/core/commands/admin/acreate.rb
+++ b/lib/aethyr/core/actions/commands/admin/acreate.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/acroom.rb b/lib/aethyr/core/actions/commands/admin/acroom.rb
similarity index 99%
rename from lib/aethyr/core/commands/admin/acroom.rb
rename to lib/aethyr/core/actions/commands/admin/acroom.rb
index e9336cbcae7f5ee016082f1dd67f763b3e257480..bc897f66398d13c03feb3a5b71730e1096c18e79 100644
--- a/lib/aethyr/core/commands/admin/acroom.rb
+++ b/lib/aethyr/core/actions/commands/admin/acroom.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/adelete.rb b/lib/aethyr/core/actions/commands/admin/adelete.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/adelete.rb
rename to lib/aethyr/core/actions/commands/admin/adelete.rb
index 17453a52bc1a64003800ce87f80a958ab456d757..33cfa9b5a08d25073850850edeb23a681cae82f5 100644
--- a/lib/aethyr/core/commands/admin/adelete.rb
+++ b/lib/aethyr/core/actions/commands/admin/adelete.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/adesc.rb b/lib/aethyr/core/actions/commands/admin/adesc.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/adesc.rb
rename to lib/aethyr/core/actions/commands/admin/adesc.rb
index b0e080375a24975d6cff19b9c5d892bcb05e91d5..c09a1a9f5c0ef612285bdd78f40e048bdd76dcb1 100644
--- a/lib/aethyr/core/commands/admin/adesc.rb
+++ b/lib/aethyr/core/actions/commands/admin/adesc.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/admin_handler.rb b/lib/aethyr/core/actions/commands/admin/admin_handler.rb
similarity index 94%
rename from lib/aethyr/core/commands/admin/admin_handler.rb
rename to lib/aethyr/core/actions/commands/admin/admin_handler.rb
index 313a0d40667eff84b19a5fba13f80eeeb0c16543..05c1a80679cdceaa50e963a31c208750e844d4d0 100644
--- a/lib/aethyr/core/commands/admin/admin_handler.rb
+++ b/lib/aethyr/core/actions/commands/admin/admin_handler.rb
@@ -1,4 +1,4 @@
-require 'aethyr/core/commands/command_handler'
+require 'aethyr/core/actions/commands/command_handler'
 
 module Aethyr
   module Extend
diff --git a/lib/aethyr/core/commands/admin/aforce.rb b/lib/aethyr/core/actions/commands/admin/aforce.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/aforce.rb
rename to lib/aethyr/core/actions/commands/admin/aforce.rb
index 318060f9eda6112c5c230bed8b760ac8954d874b..0daed912b409d3962a4eba32ee3bb3f41d10f095 100644
--- a/lib/aethyr/core/commands/admin/aforce.rb
+++ b/lib/aethyr/core/actions/commands/admin/aforce.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/ahelp.rb b/lib/aethyr/core/actions/commands/admin/ahelp.rb
similarity index 95%
rename from lib/aethyr/core/commands/admin/ahelp.rb
rename to lib/aethyr/core/actions/commands/admin/ahelp.rb
index 86ef45e356b299de5c054291294f4573024185a6..478c9f02026f7b0359b521aa5b655ee6f1ca0aeb 100644
--- a/lib/aethyr/core/commands/admin/ahelp.rb
+++ b/lib/aethyr/core/actions/commands/admin/ahelp.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/ahide.rb b/lib/aethyr/core/actions/commands/admin/ahide.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/ahide.rb
rename to lib/aethyr/core/actions/commands/admin/ahide.rb
index 094fa0e257acf5921bf6504bb9b2c8bb593347bd..2489fa09d5a71e8b5c9d6b02e41ceeb80e8b3eb3 100644
--- a/lib/aethyr/core/commands/admin/ahide.rb
+++ b/lib/aethyr/core/actions/commands/admin/ahide.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/ainfo.rb b/lib/aethyr/core/actions/commands/admin/ainfo.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/ainfo.rb
rename to lib/aethyr/core/actions/commands/admin/ainfo.rb
index 34cabeaefe5ed8888292be597254efabc845632c..183a004b9bef25136c2a22736b81dd71b43ee68d 100644
--- a/lib/aethyr/core/commands/admin/ainfo.rb
+++ b/lib/aethyr/core/actions/commands/admin/ainfo.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/alearn.rb b/lib/aethyr/core/actions/commands/admin/alearn.rb
similarity index 95%
rename from lib/aethyr/core/commands/admin/alearn.rb
rename to lib/aethyr/core/actions/commands/admin/alearn.rb
index 640aadee31d4740cda2d91effec4250d436c2b5c..909cd98aedc95e73d59c4de8759e66ee0b18abf2 100644
--- a/lib/aethyr/core/commands/admin/alearn.rb
+++ b/lib/aethyr/core/actions/commands/admin/alearn.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/alist.rb b/lib/aethyr/core/actions/commands/admin/alist.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/alist.rb
rename to lib/aethyr/core/actions/commands/admin/alist.rb
index 1fcf8da186bafe649df277b766c3bff696208bd5..718141e0904e40424f6f94af766ca6cc7563cab0 100644
--- a/lib/aethyr/core/commands/admin/alist.rb
+++ b/lib/aethyr/core/actions/commands/admin/alist.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/alog.rb b/lib/aethyr/core/actions/commands/admin/alog.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/alog.rb
rename to lib/aethyr/core/actions/commands/admin/alog.rb
index bc82544f0fbceba6b0112befa54e7bcef95e3cca..0d4a48cfb6ea94af235377a0d21a4db1299d1bbe 100644
--- a/lib/aethyr/core/commands/admin/alog.rb
+++ b/lib/aethyr/core/actions/commands/admin/alog.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/alook.rb b/lib/aethyr/core/actions/commands/admin/alook.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/alook.rb
rename to lib/aethyr/core/actions/commands/admin/alook.rb
index c660629e99b167a0f01d8cd86b99cfd67b46ced4..52a0e49d7f5127779bf90feeeff6055a47a1a2f4 100644
--- a/lib/aethyr/core/commands/admin/alook.rb
+++ b/lib/aethyr/core/actions/commands/admin/alook.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/aput.rb b/lib/aethyr/core/actions/commands/admin/aput.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/aput.rb
rename to lib/aethyr/core/actions/commands/admin/aput.rb
index b212d92914391001dc655487110e030894147afb..556b6c5183d814a4b05648c3299c9a5e2e11c5e2 100644
--- a/lib/aethyr/core/commands/admin/aput.rb
+++ b/lib/aethyr/core/actions/commands/admin/aput.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/areact.rb b/lib/aethyr/core/actions/commands/admin/areact.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/areact.rb
rename to lib/aethyr/core/actions/commands/admin/areact.rb
index eff9b7c87439aea04cfaee4e33a3e1518f92a4de..feae722c0a6a4b29efbe743a60b680c9b0e86c50 100644
--- a/lib/aethyr/core/commands/admin/areact.rb
+++ b/lib/aethyr/core/actions/commands/admin/areact.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/areas.rb b/lib/aethyr/core/actions/commands/admin/areas.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/areas.rb
rename to lib/aethyr/core/actions/commands/admin/areas.rb
index ebdb6c74dbab0761155300751789def47f19f470..90ef902f6e90db0abcb460321a8b361893a17881 100644
--- a/lib/aethyr/core/commands/admin/areas.rb
+++ b/lib/aethyr/core/actions/commands/admin/areas.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/areload.rb b/lib/aethyr/core/actions/commands/admin/areload.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/areload.rb
rename to lib/aethyr/core/actions/commands/admin/areload.rb
index b748fbc9024747772f4b6f48a5b9a87aa0bb1787..a65e7bda5bcc82e4a8c7f83acab0b628547ce23e 100644
--- a/lib/aethyr/core/commands/admin/areload.rb
+++ b/lib/aethyr/core/actions/commands/admin/areload.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/asave.rb b/lib/aethyr/core/actions/commands/admin/asave.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/asave.rb
rename to lib/aethyr/core/actions/commands/admin/asave.rb
index e067f1af0637266d9fb020055e1b010e5a442603..f8518d70a1339e332ae1ae3146f87d7b63b5c38f 100644
--- a/lib/aethyr/core/commands/admin/asave.rb
+++ b/lib/aethyr/core/actions/commands/admin/asave.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/aset.rb b/lib/aethyr/core/actions/commands/admin/aset.rb
similarity index 99%
rename from lib/aethyr/core/commands/admin/aset.rb
rename to lib/aethyr/core/actions/commands/admin/aset.rb
index 7638d99d6ce64ea37c60da450c022e1b2bf36c27..513465778f90ea78a5398effe29255124a262472 100644
--- a/lib/aethyr/core/commands/admin/aset.rb
+++ b/lib/aethyr/core/actions/commands/admin/aset.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/ashow.rb b/lib/aethyr/core/actions/commands/admin/ashow.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/ashow.rb
rename to lib/aethyr/core/actions/commands/admin/ashow.rb
index b9e8bd37f1322e2447ac0090861e7016a62e4733..e984d6f4873ad89f851db0d495a74d2cd4b41eeb 100644
--- a/lib/aethyr/core/commands/admin/ashow.rb
+++ b/lib/aethyr/core/actions/commands/admin/ashow.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/astatus.rb b/lib/aethyr/core/actions/commands/admin/astatus.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/astatus.rb
rename to lib/aethyr/core/actions/commands/admin/astatus.rb
index a93fbc9441e24b8e9982d81a1836dbd792749720..283b06520ccb17c7d02f5aa2c8d21dc2deb47c58 100644
--- a/lib/aethyr/core/commands/admin/astatus.rb
+++ b/lib/aethyr/core/actions/commands/admin/astatus.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/ateach.rb b/lib/aethyr/core/actions/commands/admin/ateach.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/ateach.rb
rename to lib/aethyr/core/actions/commands/admin/ateach.rb
index 08850389896e94e4bd2a49f2c315942cb741a543..11ca68a8156b05b582e70500db55ff1adc61729a 100644
--- a/lib/aethyr/core/commands/admin/ateach.rb
+++ b/lib/aethyr/core/actions/commands/admin/ateach.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/awatch.rb b/lib/aethyr/core/actions/commands/admin/awatch.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/awatch.rb
rename to lib/aethyr/core/actions/commands/admin/awatch.rb
index 222c4759bef86fd39913b4c10c76e90d67846d59..ef1920b15a93fb52a03240e1e2bf49f4a86a7b2d 100644
--- a/lib/aethyr/core/commands/admin/awatch.rb
+++ b/lib/aethyr/core/actions/commands/admin/awatch.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/awho.rb b/lib/aethyr/core/actions/commands/admin/awho.rb
similarity index 96%
rename from lib/aethyr/core/commands/admin/awho.rb
rename to lib/aethyr/core/actions/commands/admin/awho.rb
index 2a27f67f888b54e24b26762acb14ea30d42b330c..db30e80a16bb117a53cb85180afa9c7042bbda0d 100644
--- a/lib/aethyr/core/commands/admin/awho.rb
+++ b/lib/aethyr/core/actions/commands/admin/awho.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/deleteplayer.rb b/lib/aethyr/core/actions/commands/admin/deleteplayer.rb
similarity index 97%
rename from lib/aethyr/core/commands/admin/deleteplayer.rb
rename to lib/aethyr/core/actions/commands/admin/deleteplayer.rb
index 232a81f018c2b4ecff665c7eaf591cd40cf7b4e9..a3cc6d6bf2a34c5ab0dc69c4cd5344a13153d2f0 100644
--- a/lib/aethyr/core/commands/admin/deleteplayer.rb
+++ b/lib/aethyr/core/actions/commands/admin/deleteplayer.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/restart.rb b/lib/aethyr/core/actions/commands/admin/restart.rb
similarity index 95%
rename from lib/aethyr/core/commands/admin/restart.rb
rename to lib/aethyr/core/actions/commands/admin/restart.rb
index 4742b79a675f69e3e80daadc96d1c85bcb5d017a..6ef7809630b6275b99c12877eb3706672de2804e 100644
--- a/lib/aethyr/core/commands/admin/restart.rb
+++ b/lib/aethyr/core/actions/commands/admin/restart.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/admin/terrain.rb b/lib/aethyr/core/actions/commands/admin/terrain.rb
similarity index 98%
rename from lib/aethyr/core/commands/admin/terrain.rb
rename to lib/aethyr/core/actions/commands/admin/terrain.rb
index b5fcdba79bdab44af798c3713f18ff5f8bf6a7c4..f452e332e667168aceca76cef3973b49c09eeda1 100644
--- a/lib/aethyr/core/commands/admin/terrain.rb
+++ b/lib/aethyr/core/actions/commands/admin/terrain.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/admin/admin_handler"
+require "aethyr/core/actions/commands/admin/admin_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/block.rb b/lib/aethyr/core/actions/commands/block.rb
similarity index 98%
rename from lib/aethyr/core/commands/block.rb
rename to lib/aethyr/core/actions/commands/block.rb
index c57a6b9b15ec308f803e65e64fc8f62f718a81b4..9d6580cd8e09189c79415007ef240dcf0ffc7e5d 100644
--- a/lib/aethyr/core/commands/block.rb
+++ b/lib/aethyr/core/actions/commands/block.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/close.rb b/lib/aethyr/core/actions/commands/close.rb
similarity index 80%
rename from lib/aethyr/core/commands/close.rb
rename to lib/aethyr/core/actions/commands/close.rb
index 1f757da9037fdf9ebccedfe9929a0537242d7879..d6c744e3536ee4c4f2cdbb60176061b5e3d0f4ba 100644
--- a/lib/aethyr/core/commands/close.rb
+++ b/lib/aethyr/core/actions/commands/close.rb
@@ -1,7 +1,8 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 require "aethyr/core/util/direction"
 require "aethyr/core/help/help_entry"
+require "aethyr/core/actions/command_action"
 
 module Aethyr
   module Core
@@ -45,12 +46,24 @@ EOF
             super(data)
             case data[:input]
             when /^(close|shut)\s+(\w+)$/i
-              action({ :object => $2  })
+              CloseCommand.new(@player, :object => $2).action()
             end
           end
+        end
+
+        Aethyr::Extend::HandlerRegistry.register_handler(CloseHandler)
+      end
+    end
 
-          private
-          def action(event)
+    module Actions
+      module Close
+        class CloseCommand < Aethyr::Core::Actions::CommandAction
+          def initialize(actor, **data)
+            super(actor, **data)
+          end
+
+          def action()
+            event = @data
             room = $manager.get_object(@player.container)
             object = expand_direction(event[:object])
             object = @player.search_inv(object) || $manager.find(object, room)
@@ -63,10 +76,7 @@ EOF
               object.close(event)
             end
           end
-
         end
-
-        Aethyr::Extend::HandlerRegistry.register_handler(CloseHandler)
       end
     end
   end
diff --git a/lib/aethyr/core/commands/command_handler.rb b/lib/aethyr/core/actions/commands/command_handler.rb
similarity index 94%
rename from lib/aethyr/core/commands/command_handler.rb
rename to lib/aethyr/core/actions/commands/command_handler.rb
index c95e50f9450bc49bfe15bd272ae9bee88d54d5b8..f225186578fd3d270b604d26dbd61032609c9077 100644
--- a/lib/aethyr/core/commands/command_handler.rb
+++ b/lib/aethyr/core/actions/commands/command_handler.rb
@@ -1,4 +1,4 @@
-require 'aethyr/core/commands/help_handler'
+require 'aethyr/core/actions/commands/help_handler'
 
 module Aethyr
   module Extend
diff --git a/lib/aethyr/core/commands/dodge.rb b/lib/aethyr/core/actions/commands/dodge.rb
similarity index 98%
rename from lib/aethyr/core/commands/dodge.rb
rename to lib/aethyr/core/actions/commands/dodge.rb
index 1d9ec38bef9cf06d27f6d875cc4895ac4b776936..9cd25e2a951e493c285cda17aa7aca42023bf4ad 100644
--- a/lib/aethyr/core/commands/dodge.rb
+++ b/lib/aethyr/core/actions/commands/dodge.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/drop.rb b/lib/aethyr/core/actions/commands/drop.rb
similarity index 97%
rename from lib/aethyr/core/commands/drop.rb
rename to lib/aethyr/core/actions/commands/drop.rb
index 37111ba64b9796509905f1c46ffcb0c79bbaaacd..32ccca7c777be8cc089d3551e2b9da90d89b9bed 100644
--- a/lib/aethyr/core/commands/drop.rb
+++ b/lib/aethyr/core/actions/commands/drop.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/agree.rb b/lib/aethyr/core/actions/commands/emotes/agree.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/agree.rb
rename to lib/aethyr/core/actions/commands/emotes/agree.rb
index 5bafb2bfc848e2fd783042ca8b2498e85fec4d8f..b57067c7f27cf36750a5408b07784ba627323a4d 100644
--- a/lib/aethyr/core/commands/emotes/agree.rb
+++ b/lib/aethyr/core/actions/commands/emotes/agree.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/back.rb b/lib/aethyr/core/actions/commands/emotes/back.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/back.rb
rename to lib/aethyr/core/actions/commands/emotes/back.rb
index 943aabe963c77f4d11e9641518c7559ca7e969f4..e30390948c36195dc6e188de64e5be0a9ced65de 100644
--- a/lib/aethyr/core/commands/emotes/back.rb
+++ b/lib/aethyr/core/actions/commands/emotes/back.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/blush.rb b/lib/aethyr/core/actions/commands/emotes/blush.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/blush.rb
rename to lib/aethyr/core/actions/commands/emotes/blush.rb
index 41edf80a605161126a323a19de6ad292eefde3d4..b5fcec3f20922039af82b7483055b18829ed004a 100644
--- a/lib/aethyr/core/commands/emotes/blush.rb
+++ b/lib/aethyr/core/actions/commands/emotes/blush.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/bow.rb b/lib/aethyr/core/actions/commands/emotes/bow.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/bow.rb
rename to lib/aethyr/core/actions/commands/emotes/bow.rb
index f2767bb2ec02f916a736b774bf8c1cd1bf4a831a..eef67ece34e76c3e9ef289f34d667418309579eb 100644
--- a/lib/aethyr/core/commands/emotes/bow.rb
+++ b/lib/aethyr/core/actions/commands/emotes/bow.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/brb.rb b/lib/aethyr/core/actions/commands/emotes/brb.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/brb.rb
rename to lib/aethyr/core/actions/commands/emotes/brb.rb
index ceb82247aeab7979209072ea4832286a85f40808..9e3765e072d18611f3d36a2293fea2516af25c81 100644
--- a/lib/aethyr/core/commands/emotes/brb.rb
+++ b/lib/aethyr/core/actions/commands/emotes/brb.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/bye.rb b/lib/aethyr/core/actions/commands/emotes/bye.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/bye.rb
rename to lib/aethyr/core/actions/commands/emotes/bye.rb
index e9beb0e93b9de28599df724c85706c743a7e1f9e..33ae7f184b7b5fbc211691def144085c0d6dcd86 100644
--- a/lib/aethyr/core/commands/emotes/bye.rb
+++ b/lib/aethyr/core/actions/commands/emotes/bye.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/cheer.rb b/lib/aethyr/core/actions/commands/emotes/cheer.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/cheer.rb
rename to lib/aethyr/core/actions/commands/emotes/cheer.rb
index e94b884957f87edf480aab1fd2f6cbaabb1dcfc2..010240066ccafd7f2ed45bd5888fe42cde1f8217 100644
--- a/lib/aethyr/core/commands/emotes/cheer.rb
+++ b/lib/aethyr/core/actions/commands/emotes/cheer.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/cry.rb b/lib/aethyr/core/actions/commands/emotes/cry.rb
similarity index 96%
rename from lib/aethyr/core/commands/emotes/cry.rb
rename to lib/aethyr/core/actions/commands/emotes/cry.rb
index 08413cf68077a2cb20e2f6a3710f7fd9789f7fa1..9d9cdeb70295c83a04715639aab6ee0717f4188b 100644
--- a/lib/aethyr/core/commands/emotes/cry.rb
+++ b/lib/aethyr/core/actions/commands/emotes/cry.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/curtsey.rb b/lib/aethyr/core/actions/commands/emotes/curtsey.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/curtsey.rb
rename to lib/aethyr/core/actions/commands/emotes/curtsey.rb
index 09555d1baf698a1459675de405df5bf26e5092fc..6631ec93f53d18b90532dfc9375396eb5a71611e 100644
--- a/lib/aethyr/core/commands/emotes/curtsey.rb
+++ b/lib/aethyr/core/actions/commands/emotes/curtsey.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/eh.rb b/lib/aethyr/core/actions/commands/emotes/eh.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/eh.rb
rename to lib/aethyr/core/actions/commands/emotes/eh.rb
index c4e88dd8fbabbf1851f0d743c528552eea07833c..937e5efe78759f5393ec65070ae827a5a2aae29c 100644
--- a/lib/aethyr/core/commands/emotes/eh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/eh.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/emote.rb b/lib/aethyr/core/actions/commands/emotes/emote.rb
similarity index 98%
rename from lib/aethyr/core/commands/emotes/emote.rb
rename to lib/aethyr/core/actions/commands/emotes/emote.rb
index 7411d5a3603b001aa0301868f41fe5ec70834757..43613f11279548f12c3921f205edfb46f723ee4f 100644
--- a/lib/aethyr/core/commands/emotes/emote.rb
+++ b/lib/aethyr/core/actions/commands/emotes/emote.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/emote_handler.rb b/lib/aethyr/core/actions/commands/emotes/emote_handler.rb
similarity index 98%
rename from lib/aethyr/core/commands/emotes/emote_handler.rb
rename to lib/aethyr/core/actions/commands/emotes/emote_handler.rb
index 041022e4aaa066e139faa68b17587ab8b22d1d8f..660e7e7f008b68f1e6c7d99d32671a69ab6e52aa 100644
--- a/lib/aethyr/core/commands/emotes/emote_handler.rb
+++ b/lib/aethyr/core/actions/commands/emotes/emote_handler.rb
@@ -1,4 +1,4 @@
-require 'aethyr/core/commands/command_handler'
+require 'aethyr/core/actions/commands/command_handler'
 
 module Aethyr
   module Extend
diff --git a/lib/aethyr/core/commands/emotes/er.rb b/lib/aethyr/core/actions/commands/emotes/er.rb
similarity index 96%
rename from lib/aethyr/core/commands/emotes/er.rb
rename to lib/aethyr/core/actions/commands/emotes/er.rb
index e93b5f61dee6043a63cd200b13c24f6e762cd949..9ffe19f809740d69f91342e75ed2923235b91253 100644
--- a/lib/aethyr/core/commands/emotes/er.rb
+++ b/lib/aethyr/core/actions/commands/emotes/er.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/ew.rb b/lib/aethyr/core/actions/commands/emotes/ew.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/ew.rb
rename to lib/aethyr/core/actions/commands/emotes/ew.rb
index 4223f768eba7ec318c82dd0e16d10a1de02c88ab..b103a3646d4dfd81e98a604b3eecb0bdef10dffd 100644
--- a/lib/aethyr/core/commands/emotes/ew.rb
+++ b/lib/aethyr/core/actions/commands/emotes/ew.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/frown.rb b/lib/aethyr/core/actions/commands/emotes/frown.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/frown.rb
rename to lib/aethyr/core/actions/commands/emotes/frown.rb
index 854e2f979f759ac2355cb4911cc41c275804fb5a..e6b9d6ea6208a78750bac560221e938502da4be8 100644
--- a/lib/aethyr/core/commands/emotes/frown.rb
+++ b/lib/aethyr/core/actions/commands/emotes/frown.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/grin.rb b/lib/aethyr/core/actions/commands/emotes/grin.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/grin.rb
rename to lib/aethyr/core/actions/commands/emotes/grin.rb
index cd00e991580b5c721834a54974ea4cfddf309986..e0fe4c20d74447069de9c64293ae9b735f0e14da 100644
--- a/lib/aethyr/core/commands/emotes/grin.rb
+++ b/lib/aethyr/core/actions/commands/emotes/grin.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/hi.rb b/lib/aethyr/core/actions/commands/emotes/hi.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/hi.rb
rename to lib/aethyr/core/actions/commands/emotes/hi.rb
index 843b198a9dcf7c3985410b1029dad27cda1617cc..83ef47707c8800742eb3d38b90e0c8197e913952 100644
--- a/lib/aethyr/core/commands/emotes/hi.rb
+++ b/lib/aethyr/core/actions/commands/emotes/hi.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/hm.rb b/lib/aethyr/core/actions/commands/emotes/hm.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/hm.rb
rename to lib/aethyr/core/actions/commands/emotes/hm.rb
index c8e205b927172d185adedb363b5ea75ab9db6fd3..ee047e205e5270d63c7c7a2a490fac34d544d286 100644
--- a/lib/aethyr/core/commands/emotes/hm.rb
+++ b/lib/aethyr/core/actions/commands/emotes/hm.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/hug.rb b/lib/aethyr/core/actions/commands/emotes/hug.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/hug.rb
rename to lib/aethyr/core/actions/commands/emotes/hug.rb
index 148e201f1530cc54eabd3987e767f182d7e02865..47aa4b1ce95e6e66659d7f711ac4fb47196b1ac5 100644
--- a/lib/aethyr/core/commands/emotes/hug.rb
+++ b/lib/aethyr/core/actions/commands/emotes/hug.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/huh.rb b/lib/aethyr/core/actions/commands/emotes/huh.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/huh.rb
rename to lib/aethyr/core/actions/commands/emotes/huh.rb
index 659cabaf0fe303e956dc3011e4c42a257b3ee4e4..3ac36423767445d846118757f3aa06ef81cf3748 100644
--- a/lib/aethyr/core/commands/emotes/huh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/huh.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/laugh.rb b/lib/aethyr/core/actions/commands/emotes/laugh.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/laugh.rb
rename to lib/aethyr/core/actions/commands/emotes/laugh.rb
index 51f45354f5576abe054e4cb57fdca0c618f1af3c..f303e3d10a32d75b46d867e977bae6c08c919b39 100644
--- a/lib/aethyr/core/commands/emotes/laugh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/laugh.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/no.rb b/lib/aethyr/core/actions/commands/emotes/no.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/no.rb
rename to lib/aethyr/core/actions/commands/emotes/no.rb
index 929507834ee26fe56ef1086d65ef42815dfa0a0e..69c11048a1553277e4d4379efedeef71a7c77b1e 100644
--- a/lib/aethyr/core/commands/emotes/no.rb
+++ b/lib/aethyr/core/actions/commands/emotes/no.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/nod.rb b/lib/aethyr/core/actions/commands/emotes/nod.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/nod.rb
rename to lib/aethyr/core/actions/commands/emotes/nod.rb
index 5da0d3dfeb84117ebdf75bb2183a3afedee32fe4..ce0a84a7d34e3ecad3f2401448913be78546a89e 100644
--- a/lib/aethyr/core/commands/emotes/nod.rb
+++ b/lib/aethyr/core/actions/commands/emotes/nod.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/pet.rb b/lib/aethyr/core/actions/commands/emotes/pet.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/pet.rb
rename to lib/aethyr/core/actions/commands/emotes/pet.rb
index 3a600979a5138ddbd0542f0b8c1e5e0bce90a1f6..77a210cd84a46388a5844f8e259b3f29d0822afe 100644
--- a/lib/aethyr/core/commands/emotes/pet.rb
+++ b/lib/aethyr/core/actions/commands/emotes/pet.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/poke.rb b/lib/aethyr/core/actions/commands/emotes/poke.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/poke.rb
rename to lib/aethyr/core/actions/commands/emotes/poke.rb
index cc7fcf6af94deb2a7a0b763dacc08d1398767f62..5a9238558d97f3b10e9dee431ecbba14005490a0 100644
--- a/lib/aethyr/core/commands/emotes/poke.rb
+++ b/lib/aethyr/core/actions/commands/emotes/poke.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/ponder.rb b/lib/aethyr/core/actions/commands/emotes/ponder.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/ponder.rb
rename to lib/aethyr/core/actions/commands/emotes/ponder.rb
index 9840aa445815300e07d39611b055a09481f2a905..17f9d509790e1f5ef796fe5dc07aed6863f77415 100644
--- a/lib/aethyr/core/commands/emotes/ponder.rb
+++ b/lib/aethyr/core/actions/commands/emotes/ponder.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/shrug.rb b/lib/aethyr/core/actions/commands/emotes/shrug.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/shrug.rb
rename to lib/aethyr/core/actions/commands/emotes/shrug.rb
index 109d31578b1c2577063acdb408fb09fd3f8c679e..0cddb53ccf261d5942c519d5baa38435926b5661 100644
--- a/lib/aethyr/core/commands/emotes/shrug.rb
+++ b/lib/aethyr/core/actions/commands/emotes/shrug.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/sigh.rb b/lib/aethyr/core/actions/commands/emotes/sigh.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/sigh.rb
rename to lib/aethyr/core/actions/commands/emotes/sigh.rb
index e31a72d6ea534815511cd13a01416483b8ea92b5..d5e458a64d820e5897722a7cbe2d155e0f8cb209 100644
--- a/lib/aethyr/core/commands/emotes/sigh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/sigh.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/skip.rb b/lib/aethyr/core/actions/commands/emotes/skip.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/skip.rb
rename to lib/aethyr/core/actions/commands/emotes/skip.rb
index ba20309ce9e3471f11ef61a4a9269ea77849c3a7..d7cf8a197091b081b50ef7cb1d20245de830d259 100644
--- a/lib/aethyr/core/commands/emotes/skip.rb
+++ b/lib/aethyr/core/actions/commands/emotes/skip.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/smile.rb b/lib/aethyr/core/actions/commands/emotes/smile.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/smile.rb
rename to lib/aethyr/core/actions/commands/emotes/smile.rb
index 75cad54b23fb9bcfac894298168f92717bbb45b3..9682eaffc45b23a6ec4c6174cc2918f58662394c 100644
--- a/lib/aethyr/core/commands/emotes/smile.rb
+++ b/lib/aethyr/core/actions/commands/emotes/smile.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/snicker.rb b/lib/aethyr/core/actions/commands/emotes/snicker.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/snicker.rb
rename to lib/aethyr/core/actions/commands/emotes/snicker.rb
index 9f6ecb56afbb1de202bd16772a9e5504c59b2002..cdf45ddedb75ec03f77c138b2c17594aca9257b8 100644
--- a/lib/aethyr/core/commands/emotes/snicker.rb
+++ b/lib/aethyr/core/actions/commands/emotes/snicker.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/uh.rb b/lib/aethyr/core/actions/commands/emotes/uh.rb
similarity index 96%
rename from lib/aethyr/core/commands/emotes/uh.rb
rename to lib/aethyr/core/actions/commands/emotes/uh.rb
index 7df9a9ebb30709700fb312af98c0f7b6913c0a8c..c7b8ad5764cdb0f74073543a886eb3c9b88e8889 100644
--- a/lib/aethyr/core/commands/emotes/uh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/uh.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/wave.rb b/lib/aethyr/core/actions/commands/emotes/wave.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/wave.rb
rename to lib/aethyr/core/actions/commands/emotes/wave.rb
index 12c67dcea36596307ca0ce92cd9070896e951824..d8d03ed150493032d6d7a70bb4c8a2dd6ca0036c 100644
--- a/lib/aethyr/core/commands/emotes/wave.rb
+++ b/lib/aethyr/core/actions/commands/emotes/wave.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/yawn.rb b/lib/aethyr/core/actions/commands/emotes/yawn.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/yawn.rb
rename to lib/aethyr/core/actions/commands/emotes/yawn.rb
index 2226ff6b4e6e235d8b667ed67d2bcae442134aa6..e5a8bcefdc98c1dfece2d3e8276cd3bb1eae2608 100644
--- a/lib/aethyr/core/commands/emotes/yawn.rb
+++ b/lib/aethyr/core/actions/commands/emotes/yawn.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/emotes/yes.rb b/lib/aethyr/core/actions/commands/emotes/yes.rb
similarity index 97%
rename from lib/aethyr/core/commands/emotes/yes.rb
rename to lib/aethyr/core/actions/commands/emotes/yes.rb
index d4feaa2f34bc0d8bc5ec5ae57871a30485b0e56e..540baca420f1c1b5f1af272bceafda19b9a708b9 100644
--- a/lib/aethyr/core/commands/emotes/yes.rb
+++ b/lib/aethyr/core/actions/commands/emotes/yes.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/emotes/emote_handler"
+require "aethyr/core/actions/commands/emotes/emote_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/gait.rb b/lib/aethyr/core/actions/commands/gait.rb
similarity index 97%
rename from lib/aethyr/core/commands/gait.rb
rename to lib/aethyr/core/actions/commands/gait.rb
index 36cb83defe62b1b4fb6ec1a80f2f431d21add1f1..4f88ea45ee68e7936fd56e0a6d35fdc301835f92 100644
--- a/lib/aethyr/core/commands/gait.rb
+++ b/lib/aethyr/core/actions/commands/gait.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/generic.rb b/lib/aethyr/core/actions/commands/generic.rb
similarity index 99%
rename from lib/aethyr/core/commands/generic.rb
rename to lib/aethyr/core/actions/commands/generic.rb
index 339d650337821d033146defcfc3bd50beee95cf4..5bad553c7136323523a9e4afd5f3317c2f9ab00e 100644
--- a/lib/aethyr/core/commands/generic.rb
+++ b/lib/aethyr/core/actions/commands/generic.rb
@@ -1,6 +1,6 @@
 require 'aethyr/core/issues'
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/get.rb b/lib/aethyr/core/actions/commands/get.rb
similarity index 98%
rename from lib/aethyr/core/commands/get.rb
rename to lib/aethyr/core/actions/commands/get.rb
index acf7b7cc457351496ca9101bb10b6f000e4e9145..6bab145116d2cba6ed96fc0519298f00b97b5d96 100644
--- a/lib/aethyr/core/commands/get.rb
+++ b/lib/aethyr/core/actions/commands/get.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/give.rb b/lib/aethyr/core/actions/commands/give.rb
similarity index 97%
rename from lib/aethyr/core/commands/give.rb
rename to lib/aethyr/core/actions/commands/give.rb
index 4a0f39b45090d52f16a75117099c188f248a4482..dcd6e684b4f51163608df542ad5296cc589fc135 100644
--- a/lib/aethyr/core/commands/give.rb
+++ b/lib/aethyr/core/actions/commands/give.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/help.rb b/lib/aethyr/core/actions/commands/help.rb
similarity index 93%
rename from lib/aethyr/core/commands/help.rb
rename to lib/aethyr/core/actions/commands/help.rb
index 328bd932835b0ed8c46ba24e8887d35fc860c3dc..8ff591043eeaa06c59644158b878f8e3fd2b4668 100644
--- a/lib/aethyr/core/commands/help.rb
+++ b/lib/aethyr/core/actions/commands/help.rb
@@ -1,5 +1,5 @@
 require 'aethyr/core/registry'
-require 'aethyr/core/commands/command_handler'
+require 'aethyr/core/actions/commands/command_handler'
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/help_handler.rb b/lib/aethyr/core/actions/commands/help_handler.rb
similarity index 100%
rename from lib/aethyr/core/commands/help_handler.rb
rename to lib/aethyr/core/actions/commands/help_handler.rb
diff --git a/lib/aethyr/core/commands/inventory.rb b/lib/aethyr/core/actions/commands/inventory.rb
similarity index 96%
rename from lib/aethyr/core/commands/inventory.rb
rename to lib/aethyr/core/actions/commands/inventory.rb
index b19b046da24e874446f3018528463d7402609bd8..800e41fd0455dc95d4d212f11058964b2c50cae9 100644
--- a/lib/aethyr/core/commands/inventory.rb
+++ b/lib/aethyr/core/actions/commands/inventory.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/issue.rb b/lib/aethyr/core/actions/commands/issue.rb
similarity index 98%
rename from lib/aethyr/core/commands/issue.rb
rename to lib/aethyr/core/actions/commands/issue.rb
index c60710fedfbea5b6075410ed63223be3d7f8fab7..cfbd1fa3f8934d595160adab7008a9d4d3b755fc 100644
--- a/lib/aethyr/core/commands/issue.rb
+++ b/lib/aethyr/core/actions/commands/issue.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/kick.rb b/lib/aethyr/core/actions/commands/kick.rb
similarity index 98%
rename from lib/aethyr/core/commands/kick.rb
rename to lib/aethyr/core/actions/commands/kick.rb
index 05adbacb4a48b048f26383164eb051f6d0a85683..9d2de1ecaeb3f9e722e2b91d6cebfe2cd34db213 100644
--- a/lib/aethyr/core/commands/kick.rb
+++ b/lib/aethyr/core/actions/commands/kick.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/locking.rb b/lib/aethyr/core/actions/commands/locking.rb
similarity index 98%
rename from lib/aethyr/core/commands/locking.rb
rename to lib/aethyr/core/actions/commands/locking.rb
index c9b4d78f251137db074999e95b8eab72b1f32c12..b6927faf4e8f9a7353aa7753ac9941a87fb662e0 100644
--- a/lib/aethyr/core/commands/locking.rb
+++ b/lib/aethyr/core/actions/commands/locking.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/look.rb b/lib/aethyr/core/actions/commands/look.rb
similarity index 98%
rename from lib/aethyr/core/commands/look.rb
rename to lib/aethyr/core/actions/commands/look.rb
index 4492c9c85bac5358e70d6f5722f8691fd321e99f..2c53016c27c0ed2f23b501bf183404d52aac186d 100644
--- a/lib/aethyr/core/commands/look.rb
+++ b/lib/aethyr/core/actions/commands/look.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/map.rb b/lib/aethyr/core/actions/commands/map.rb
similarity index 96%
rename from lib/aethyr/core/commands/map.rb
rename to lib/aethyr/core/actions/commands/map.rb
index 64543757c95d10ef70e1568a7b62cb5a0c205620..d50dea1a9328e2ed2fe5998e536155a1ec3f3649 100644
--- a/lib/aethyr/core/commands/map.rb
+++ b/lib/aethyr/core/actions/commands/map.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/more.rb b/lib/aethyr/core/actions/commands/more.rb
similarity index 96%
rename from lib/aethyr/core/commands/more.rb
rename to lib/aethyr/core/actions/commands/more.rb
index 125641bdc4c0fac97795d859d2b7bbcff5d78f0a..d7a8d9a4e5e086b4b0d5b848918c80466a77799d 100644
--- a/lib/aethyr/core/commands/more.rb
+++ b/lib/aethyr/core/actions/commands/more.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/move.rb b/lib/aethyr/core/actions/commands/move.rb
similarity index 98%
rename from lib/aethyr/core/commands/move.rb
rename to lib/aethyr/core/actions/commands/move.rb
index 2ae25f4acb7481d9a488de853e91354b3b2a9579..139db045d9e1ad669bf184f82b4343cd374e36cb 100644
--- a/lib/aethyr/core/commands/move.rb
+++ b/lib/aethyr/core/actions/commands/move.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 require "aethyr/core/util/direction"
 
 module Aethyr
diff --git a/lib/aethyr/core/commands/news.rb b/lib/aethyr/core/actions/commands/news.rb
similarity index 99%
rename from lib/aethyr/core/commands/news.rb
rename to lib/aethyr/core/actions/commands/news.rb
index dab44c2f4eb2a31d224b335fda5db87d94171af0..7e6eb456cbfe49380cc40a77a5bb6b063d7dd7a8 100644
--- a/lib/aethyr/core/commands/news.rb
+++ b/lib/aethyr/core/actions/commands/news.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/open.rb b/lib/aethyr/core/actions/commands/open.rb
similarity index 97%
rename from lib/aethyr/core/commands/open.rb
rename to lib/aethyr/core/actions/commands/open.rb
index c991aff10057764c8350df63df9bf10a2519ff67..59e381e0fc3a24393051bbf4b6233b363212a497 100644
--- a/lib/aethyr/core/commands/open.rb
+++ b/lib/aethyr/core/actions/commands/open.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 require "aethyr/core/util/direction"
 
 module Aethyr
diff --git a/lib/aethyr/core/commands/portal.rb b/lib/aethyr/core/actions/commands/portal.rb
similarity index 98%
rename from lib/aethyr/core/commands/portal.rb
rename to lib/aethyr/core/actions/commands/portal.rb
index 8d696aba01017d982b0cdec6f9774c598ea2b482..0bf04890b59091a9f7ab2ae824a0d439d3e49643 100644
--- a/lib/aethyr/core/commands/portal.rb
+++ b/lib/aethyr/core/actions/commands/portal.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/pose.rb b/lib/aethyr/core/actions/commands/pose.rb
similarity index 96%
rename from lib/aethyr/core/commands/pose.rb
rename to lib/aethyr/core/actions/commands/pose.rb
index 9fc4bbaa1367bb90a9dfc7ee0588ea81b6df09fb..476d37f65b60340b6750da6b7a9f66b924360677 100644
--- a/lib/aethyr/core/commands/pose.rb
+++ b/lib/aethyr/core/actions/commands/pose.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/punch.rb b/lib/aethyr/core/actions/commands/punch.rb
similarity index 98%
rename from lib/aethyr/core/commands/punch.rb
rename to lib/aethyr/core/actions/commands/punch.rb
index 23617af5a62bb73f22736ea73a4f03507656409f..7239c5bff5261cab45dc566ad3bd7d5da969256a 100644
--- a/lib/aethyr/core/commands/punch.rb
+++ b/lib/aethyr/core/actions/commands/punch.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/put.rb b/lib/aethyr/core/actions/commands/put.rb
similarity index 97%
rename from lib/aethyr/core/commands/put.rb
rename to lib/aethyr/core/actions/commands/put.rb
index 3105c34771fd15ce1ffddd49246bc80a9b5cc719..d26112c992e45fa32f10bf19b50b0f08cda4657f 100644
--- a/lib/aethyr/core/commands/put.rb
+++ b/lib/aethyr/core/actions/commands/put.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/quit.rb b/lib/aethyr/core/actions/commands/quit.rb
similarity index 95%
rename from lib/aethyr/core/commands/quit.rb
rename to lib/aethyr/core/actions/commands/quit.rb
index 57a5c0fc55a7f7c7554c300a83fe50054705ed6c..1810271b0ae4370b8acc27e0db0a5639ab8b0f15 100644
--- a/lib/aethyr/core/commands/quit.rb
+++ b/lib/aethyr/core/actions/commands/quit.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/remove.rb b/lib/aethyr/core/actions/commands/remove.rb
similarity index 97%
rename from lib/aethyr/core/commands/remove.rb
rename to lib/aethyr/core/actions/commands/remove.rb
index 4a0941ca29551cbefa411eda6fd6b2004db80292..a1fff5d7333a6ce949fb28e7e1e801fe2d03ed8f 100644
--- a/lib/aethyr/core/commands/remove.rb
+++ b/lib/aethyr/core/actions/commands/remove.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/say.rb b/lib/aethyr/core/actions/commands/say.rb
similarity index 99%
rename from lib/aethyr/core/commands/say.rb
rename to lib/aethyr/core/actions/commands/say.rb
index 847990ca774871722c1a62942d5738b5c105d2de..28ee3b7ba76f6320ca939e05acecf561e02c3672 100644
--- a/lib/aethyr/core/commands/say.rb
+++ b/lib/aethyr/core/actions/commands/say.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/set.rb b/lib/aethyr/core/actions/commands/set.rb
similarity index 99%
rename from lib/aethyr/core/commands/set.rb
rename to lib/aethyr/core/actions/commands/set.rb
index ceb9368b0dcdea0fc4de1da43829f8df0ecd415a..7763a05db11d5b23e897f76090cdd653adf2d577 100644
--- a/lib/aethyr/core/commands/set.rb
+++ b/lib/aethyr/core/actions/commands/set.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/sit.rb b/lib/aethyr/core/actions/commands/sit.rb
similarity index 98%
rename from lib/aethyr/core/commands/sit.rb
rename to lib/aethyr/core/actions/commands/sit.rb
index 9f35d8636db0d8e9691ace5131c78861833b615b..862edefcf6c9fa65d2087fa21cbdc0f139569f52 100644
--- a/lib/aethyr/core/commands/sit.rb
+++ b/lib/aethyr/core/actions/commands/sit.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/skills.rb b/lib/aethyr/core/actions/commands/skills.rb
similarity index 98%
rename from lib/aethyr/core/commands/skills.rb
rename to lib/aethyr/core/actions/commands/skills.rb
index 560bf1858178e9837cbb00a336e4ab106248ca75..351212e588af041369793306f6f2b0c175ad520c 100644
--- a/lib/aethyr/core/commands/skills.rb
+++ b/lib/aethyr/core/actions/commands/skills.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 require 'aethyr/core/render/text_util'
 include TextUtil
 
diff --git a/lib/aethyr/core/commands/slash.rb b/lib/aethyr/core/actions/commands/slash.rb
similarity index 98%
rename from lib/aethyr/core/commands/slash.rb
rename to lib/aethyr/core/actions/commands/slash.rb
index c9adf70b8aac87a88471451502624efe788e1870..42362896067fddf3d20c8c68a23c186341085d70 100644
--- a/lib/aethyr/core/commands/slash.rb
+++ b/lib/aethyr/core/actions/commands/slash.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/stand.rb b/lib/aethyr/core/actions/commands/stand.rb
similarity index 97%
rename from lib/aethyr/core/commands/stand.rb
rename to lib/aethyr/core/actions/commands/stand.rb
index 769849eb5afa8ff3d40c14c4528c925598b17371..49dee43979b1cd5c6d95bc79ca80823b29ce8a93 100644
--- a/lib/aethyr/core/commands/stand.rb
+++ b/lib/aethyr/core/actions/commands/stand.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/tell.rb b/lib/aethyr/core/actions/commands/tell.rb
similarity index 98%
rename from lib/aethyr/core/commands/tell.rb
rename to lib/aethyr/core/actions/commands/tell.rb
index e5d3b6763a40e00c2210c887e016ee29634c99da..c90cab0ec6f2a2aebcf6e607836e94b561135e89 100644
--- a/lib/aethyr/core/commands/tell.rb
+++ b/lib/aethyr/core/actions/commands/tell.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/unwield.rb b/lib/aethyr/core/actions/commands/unwield.rb
similarity index 98%
rename from lib/aethyr/core/commands/unwield.rb
rename to lib/aethyr/core/actions/commands/unwield.rb
index 1985f69519b6516127626e25dbddd1780f4ba353..6fa87668da17d1018de14fa5a2535b123f67540d 100644
--- a/lib/aethyr/core/commands/unwield.rb
+++ b/lib/aethyr/core/actions/commands/unwield.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/wear.rb b/lib/aethyr/core/actions/commands/wear.rb
similarity index 97%
rename from lib/aethyr/core/commands/wear.rb
rename to lib/aethyr/core/actions/commands/wear.rb
index 561e8bf1e6fefb9017a06824a30906e38cbe90c4..18445b571acf841e86ddb694400ee5bf9c3c57be 100644
--- a/lib/aethyr/core/commands/wear.rb
+++ b/lib/aethyr/core/actions/commands/wear.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/whereis.rb b/lib/aethyr/core/actions/commands/whereis.rb
similarity index 97%
rename from lib/aethyr/core/commands/whereis.rb
rename to lib/aethyr/core/actions/commands/whereis.rb
index 70cdb741cc35821297d9c5efe05f8cf05d6167f4..0ab22b9d29f1b7cb23baf3679ca757a5abbb2ce9 100644
--- a/lib/aethyr/core/commands/whereis.rb
+++ b/lib/aethyr/core/actions/commands/whereis.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/whisper.rb b/lib/aethyr/core/actions/commands/whisper.rb
similarity index 98%
rename from lib/aethyr/core/commands/whisper.rb
rename to lib/aethyr/core/actions/commands/whisper.rb
index 455d1fe4df67d5cb862e47acc9d34a8ba5d5a6e9..8bd292efe549323cf49117e1789bab502ba623db 100644
--- a/lib/aethyr/core/commands/whisper.rb
+++ b/lib/aethyr/core/actions/commands/whisper.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/commands/wield.rb b/lib/aethyr/core/actions/commands/wield.rb
similarity index 98%
rename from lib/aethyr/core/commands/wield.rb
rename to lib/aethyr/core/actions/commands/wield.rb
index e1315312f9e42e83a0da03041818ade873f71e8a..cf78b4244d01d33f78781bad33c6da30a161c6ed 100644
--- a/lib/aethyr/core/commands/wield.rb
+++ b/lib/aethyr/core/actions/commands/wield.rb
@@ -1,5 +1,5 @@
 require "aethyr/core/registry"
-require "aethyr/core/commands/command_handler"
+require "aethyr/core/actions/commands/command_handler"
 
 module Aethyr
   module Core
diff --git a/lib/aethyr/core/util/all-commands.rb b/lib/aethyr/core/util/all-commands.rb
index 4b86dd5776d08e891e3cb92c570187e85ed42171..c4cc5a12bbe5234c1c3f92045edfcbff5df8384c 100644
--- a/lib/aethyr/core/util/all-commands.rb
+++ b/lib/aethyr/core/util/all-commands.rb
@@ -7,20 +7,20 @@
 #
 #  require "aethyr/commands/#{f[0..-4]}"
 #end
-#require 'aethyr/core/commands/admin'
-#require 'aethyr/core/commands/clothing'
-#require 'aethyr/core/commands/combat'
-#require 'aethyr/core/commands/communication'
-#require 'aethyr/core/commands/custom'
-#require 'aethyr/core/commands/emote'
-#require 'aethyr/core/commands/generic'
-#require 'aethyr/core/commands/martial_combat'
-#require 'aethyr/core/commands/mobiles'
-#require 'aethyr/core/commands/movement'
-#require 'aethyr/core/commands/news'
-#require 'aethyr/core/commands/settings'
-#require 'aethyr/core/commands/weapon_combat'
+#require 'aethyr/core/actions/commands/admin'
+#require 'aethyr/core/actions/commands/clothing'
+#require 'aethyr/core/actions/commands/combat'
+#require 'aethyr/core/actions/commands/communication'
+#require 'aethyr/core/actions/commands/custom'
+#require 'aethyr/core/actions/commands/emote'
+#require 'aethyr/core/actions/commands/generic'
+#require 'aethyr/core/actions/commands/martial_combat'
+#require 'aethyr/core/actions/commands/mobiles'
+#require 'aethyr/core/actions/commands/movement'
+#require 'aethyr/core/actions/commands/news'
+#require 'aethyr/core/actions/commands/settings'
+#require 'aethyr/core/actions/commands/weapon_combat'
 
 require 'require_all'
-require_all 'lib/aethyr/core/commands/'
-require_all 'lib/aethyr/extensions/commands/'
+require_all 'lib/aethyr/core/actions/commands/'
+require_all 'lib/aethyr/extensions/actions/commands/'
diff --git a/lib/aethyr/extensions/commands/.keep b/lib/aethyr/extensions/actions/commands/.keep
similarity index 100%
rename from lib/aethyr/extensions/commands/.keep
rename to lib/aethyr/extensions/actions/commands/.keep