diff --git a/lib/aethyr/core/actions/commands/emotes/agree.rb b/lib/aethyr/core/actions/commands/emotes/agree.rb
index 6386efb95286465f1044597a232dd7fe0ad7e3e9..22533eb9b640fb81f42480828ba82f8d3b5d2262 100644
--- a/lib/aethyr/core/actions/commands/emotes/agree.rb
+++ b/lib/aethyr/core/actions/commands/emotes/agree.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Agree
-        class AgreeCommand < Aethyr::Core::Actions::CommandAction
+        class AgreeCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/back.rb b/lib/aethyr/core/actions/commands/emotes/back.rb
index b8f388764296d2d4b640ce2f5e5f538d7441eb8e..6d5a160d28bc88303ae693a82e330fa5d174807f 100644
--- a/lib/aethyr/core/actions/commands/emotes/back.rb
+++ b/lib/aethyr/core/actions/commands/emotes/back.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Back
-        class BackCommand < Aethyr::Core::Actions::CommandAction
+        class BackCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/blush.rb b/lib/aethyr/core/actions/commands/emotes/blush.rb
index ab83d886272acac13526dd250d2c8628317fed84..c4981f7e5ac59b2b43b070f6b996627b9edac697 100644
--- a/lib/aethyr/core/actions/commands/emotes/blush.rb
+++ b/lib/aethyr/core/actions/commands/emotes/blush.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Blush
-        class BlushCommand < Aethyr::Core::Actions::CommandAction
+        class BlushCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/bow.rb b/lib/aethyr/core/actions/commands/emotes/bow.rb
index 3c1ea069fda37976c52898c865d29bea1c8e235b..2213a9b985d485b7529501b8f02d7be0f6de7f53 100644
--- a/lib/aethyr/core/actions/commands/emotes/bow.rb
+++ b/lib/aethyr/core/actions/commands/emotes/bow.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Bow
-        class BowCommand < Aethyr::Core::Actions::CommandAction
+        class BowCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/brb.rb b/lib/aethyr/core/actions/commands/emotes/brb.rb
index c6a6dc4534053a3388a978650749578baa255521..b1cfcb60c44b1e454e115ba32f2d9a5bb2100c2b 100644
--- a/lib/aethyr/core/actions/commands/emotes/brb.rb
+++ b/lib/aethyr/core/actions/commands/emotes/brb.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Brb
-        class BrbCommand < Aethyr::Core::Actions::CommandAction
+        class BrbCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/bye.rb b/lib/aethyr/core/actions/commands/emotes/bye.rb
index 678acb3d7fe47d961de8ce657255c8e59fe018a2..ad9334783ce0b97c71e48e0134f9134a97cb7c00 100644
--- a/lib/aethyr/core/actions/commands/emotes/bye.rb
+++ b/lib/aethyr/core/actions/commands/emotes/bye.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Bye
-        class ByeCommand < Aethyr::Core::Actions::CommandAction
+        class ByeCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/cheer.rb b/lib/aethyr/core/actions/commands/emotes/cheer.rb
index 04f9d4cb4046606371e745602df0c15f34cb4993..d57a87a8d076e3f72a2a0d350f22a233a4030749 100644
--- a/lib/aethyr/core/actions/commands/emotes/cheer.rb
+++ b/lib/aethyr/core/actions/commands/emotes/cheer.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Cheer
-        class CheerCommand < Aethyr::Core::Actions::CommandAction
+        class CheerCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/cry.rb b/lib/aethyr/core/actions/commands/emotes/cry.rb
index 9b4104f78343962e3055580dc7c1b9923898536e..e960c369665327728913b54c7c61ef93c1b7367c 100644
--- a/lib/aethyr/core/actions/commands/emotes/cry.rb
+++ b/lib/aethyr/core/actions/commands/emotes/cry.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Cry
-        class CryCommand < Aethyr::Core::Actions::CommandAction
+        class CryCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/curtsey.rb b/lib/aethyr/core/actions/commands/emotes/curtsey.rb
index 24e2ab884c66e595e8101ef333aec51a9c05185f..c9f2979fd7e234cd05b62bcbcd74836967f011c3 100644
--- a/lib/aethyr/core/actions/commands/emotes/curtsey.rb
+++ b/lib/aethyr/core/actions/commands/emotes/curtsey.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Curtsey
-        class CurtseyCommand < Aethyr::Core::Actions::CommandAction
+        class CurtseyCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/eh.rb b/lib/aethyr/core/actions/commands/emotes/eh.rb
index ac7bfd29767c7e083d7b904f2957455cf262eb40..f0798cc9f9028c39298368c8dc324b97b1461080 100644
--- a/lib/aethyr/core/actions/commands/emotes/eh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/eh.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Eh
-        class EhCommand < Aethyr::Core::Actions::CommandAction
+        class EhCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emote.rb b/lib/aethyr/core/actions/commands/emotes/emote.rb
similarity index 100%
rename from lib/aethyr/core/actions/commands/emote.rb
rename to lib/aethyr/core/actions/commands/emotes/emote.rb
diff --git a/lib/aethyr/core/actions/commands/emotes/emote_action.rb b/lib/aethyr/core/actions/commands/emotes/emote_action.rb
new file mode 100644
index 0000000000000000000000000000000000000000..61eacdbc16c75b725d5ce61a26825f6bc1a8b148
--- /dev/null
+++ b/lib/aethyr/core/actions/commands/emotes/emote_action.rb
@@ -0,0 +1,151 @@
+require 'aethyr/core/actions/command_action'
+
+module Aethyr
+  module Core
+    module Actions
+    class EmoteAction < Aethyr::Core::Actions::CommandAction
+      def initialize(actor, **data)
+        super(actor, **data)
+      end
+
+      protected
+
+      #Run an emote.
+      def make_emote event, player, room, &block
+        g = GenericEmote.new(event, player, room)
+        g.instance_eval(&block)
+        if g.return_event && (g.return_event.respond_to? :has_key?)
+          g.set_post #add postfix
+          log "Doing event" , Logger::Ultimate
+          room.out_event g.return_event
+        end
+      end
+
+
+      #Provides little DSL to easily create emotes.
+      class GenericEmote
+
+        attr_reader :return_event
+
+        def initialize(event, player, room)
+          @event = event
+          @event[:message_type] = :chat
+          @event[:player] = player
+          @player = player
+          @room = room
+          @post = event[:post]
+          @object = nil
+          @return_event = nil
+          find_target
+        end
+
+        #If there is no target, return the given block.
+        def no_target
+          return if @return_event
+
+          if @object.nil?
+            @return_event = yield
+          end
+        end
+
+        #If the target is the player, return the given block.
+        def self_target
+          return if @return_event
+
+          if @object == @player
+            @return_event = yield
+          end
+        end
+
+        #If there is a target, return the given block.
+        def target
+          return if @return_event
+
+          unless @object.nil?
+            @return_event = yield
+          end
+        end
+
+        #If nothing else matches, return the given block.
+        def default
+          @return_event = yield
+        end
+
+        #Provide output to show player.
+        def to_player output
+          @event[:to_player] = output
+          @event
+        end
+
+        #Provide output to show others.
+        def to_other output
+          @event[:to_other] = output
+          @event
+        end
+
+        #Provide output to show target.
+        def to_target output
+          @event[:to_target] = output
+          @event
+        end
+
+        #Provide output to show blind others.
+        def to_blind_other output
+          @event[:to_blind_other] = output
+          @event
+        end
+
+        #Provide output to show deaf others.
+        def to_deaf_other output
+          @event[:to_deaf_other] = output
+          @event
+        end
+
+        #Provide output to show blind target.
+        def to_blind_target output
+          @event[:to_blind_target] = output
+          @event
+        end
+
+        #Provide output to show deaf target.
+        def to_deaf_target output
+          @event[:to_deaf_target] = output
+          @event
+        end
+
+        #Appends suffix to emote.
+        def set_post
+          return if not @post
+          [:to_player, :to_other, :to_target, :to_blind_other, :to_blind_target, :to_deaf_other, :to_deaf_target].each do |t|
+            if @return_event[t]
+              if @return_event[t][-1,1] == "."
+                @return_event[t][-1] = ""
+              end
+
+              if @post[0,1] == ","
+                @return_event[t] << @post
+              else
+                @return_event[t] << " " << @post
+              end
+
+              unless ["!", "?", ".", "\"", "'"].include? @post[-1,1]
+                @return_event[t] << "."
+              end
+            end
+          end
+        end
+
+        private
+
+        #Find target for emote.
+        def find_target
+          if @object.nil? and @event[:object]
+            @object = @room.find(@event[:object]) || @player.search_inv(@event[:object])
+            @event[:target] = @object
+          end
+        end
+      end
+    end
+  end
+end
+end
diff --git a/lib/aethyr/core/actions/commands/emotes/er.rb b/lib/aethyr/core/actions/commands/emotes/er.rb
index 8de269c1d8c67a9ec7ce969003e719f487bd2c4a..e852ef4a8fc77352943a64a35f07207070f8a41d 100644
--- a/lib/aethyr/core/actions/commands/emotes/er.rb
+++ b/lib/aethyr/core/actions/commands/emotes/er.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Er
-        class ErCommand < Aethyr::Core::Actions::CommandAction
+        class ErCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/ew.rb b/lib/aethyr/core/actions/commands/emotes/ew.rb
index 2a41c44def0b15502597ae1bc46940a99b957721..ae06a422003854376c5ce40fb1622f97814e0f78 100644
--- a/lib/aethyr/core/actions/commands/emotes/ew.rb
+++ b/lib/aethyr/core/actions/commands/emotes/ew.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Ew
-        class EwCommand < Aethyr::Core::Actions::CommandAction
+        class EwCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/frown.rb b/lib/aethyr/core/actions/commands/emotes/frown.rb
index 27d91bc83a7bb4de422012d326b9fa925e20bde8..bba0fa86cd907b8135516f05413c17e49f4a64fb 100644
--- a/lib/aethyr/core/actions/commands/emotes/frown.rb
+++ b/lib/aethyr/core/actions/commands/emotes/frown.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Frown
-        class FrownCommand < Aethyr::Core::Actions::CommandAction
+        class FrownCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/grin.rb b/lib/aethyr/core/actions/commands/emotes/grin.rb
index 762e52eac00e30613ecb571946ab9ac8bf2a642d..23da6e45ad9115a9b6273b10cacd2d130569a333 100644
--- a/lib/aethyr/core/actions/commands/emotes/grin.rb
+++ b/lib/aethyr/core/actions/commands/emotes/grin.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Grin
-        class GrinCommand < Aethyr::Core::Actions::CommandAction
+        class GrinCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/hi.rb b/lib/aethyr/core/actions/commands/emotes/hi.rb
index 906e5fac63ba5babd3d78f3137462c43576fb12c..53e3a68ab054f9657985c86b2fa32f0cfd0439b2 100644
--- a/lib/aethyr/core/actions/commands/emotes/hi.rb
+++ b/lib/aethyr/core/actions/commands/emotes/hi.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Hi
-        class HiCommand < Aethyr::Core::Actions::CommandAction
+        class HiCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/hm.rb b/lib/aethyr/core/actions/commands/emotes/hm.rb
index fdb1b0454615572f7600e6fddf11af9037c1a2e0..3f8fcb018b79397d854dde80a3e8a414c694bc06 100644
--- a/lib/aethyr/core/actions/commands/emotes/hm.rb
+++ b/lib/aethyr/core/actions/commands/emotes/hm.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Hm
-        class HmCommand < Aethyr::Core::Actions::CommandAction
+        class HmCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/hug.rb b/lib/aethyr/core/actions/commands/emotes/hug.rb
index 6e03ca390d4fbdb3bc9564ba095ac41c4ca9f324..d2c328437c9e9097f0833917d649830de9d9b5b7 100644
--- a/lib/aethyr/core/actions/commands/emotes/hug.rb
+++ b/lib/aethyr/core/actions/commands/emotes/hug.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Hug
-        class HugCommand < Aethyr::Core::Actions::CommandAction
+        class HugCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/huh.rb b/lib/aethyr/core/actions/commands/emotes/huh.rb
index f94824fe5ce85f306c23bf7cc703ef0809387276..b39bbdb4c5b337e54b548f0ad1d4dee224855cc0 100644
--- a/lib/aethyr/core/actions/commands/emotes/huh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/huh.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Huh
-        class HuhCommand < Aethyr::Core::Actions::CommandAction
+        class HuhCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/laugh.rb b/lib/aethyr/core/actions/commands/emotes/laugh.rb
index 69909a8a42be0229dcd51614828f2ef228a776b7..c28bfa37abc383ed953db0b5ce0ba61660d734ad 100644
--- a/lib/aethyr/core/actions/commands/emotes/laugh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/laugh.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Laugh
-        class LaughCommand < Aethyr::Core::Actions::CommandAction
+        class LaughCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/no.rb b/lib/aethyr/core/actions/commands/emotes/no.rb
index b9ecbdf7aa470e621d9885a5ffe9602cf3226a2b..5b5a80b85e916a3219a1448bb6d00f02030af086 100644
--- a/lib/aethyr/core/actions/commands/emotes/no.rb
+++ b/lib/aethyr/core/actions/commands/emotes/no.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module No
-        class NoCommand < Aethyr::Core::Actions::CommandAction
+        class NoCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/nod.rb b/lib/aethyr/core/actions/commands/emotes/nod.rb
index 899a99eebd036c6973a684593608f3526101938a..43f5cd2845bfeaf4be288847f48b6dee9dcc8de0 100644
--- a/lib/aethyr/core/actions/commands/emotes/nod.rb
+++ b/lib/aethyr/core/actions/commands/emotes/nod.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Nod
-        class NodCommand < Aethyr::Core::Actions::CommandAction
+        class NodCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/pet.rb b/lib/aethyr/core/actions/commands/emotes/pet.rb
index 978bbc22a5a0ad742092548bcec8b72916441091..8b126f80f3fdb9a00cddbd1e10764a18b67ad097 100644
--- a/lib/aethyr/core/actions/commands/emotes/pet.rb
+++ b/lib/aethyr/core/actions/commands/emotes/pet.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Pet
-        class PetCommand < Aethyr::Core::Actions::CommandAction
+        class PetCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/poke.rb b/lib/aethyr/core/actions/commands/emotes/poke.rb
index 9d4818b3dd07a82c4f425b85f0019d6d2d984842..a5845265da631fe5ddb3e6eda43b4f3e37962f88 100644
--- a/lib/aethyr/core/actions/commands/emotes/poke.rb
+++ b/lib/aethyr/core/actions/commands/emotes/poke.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Poke
-        class PokeCommand < Aethyr::Core::Actions::CommandAction
+        class PokeCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/ponder.rb b/lib/aethyr/core/actions/commands/emotes/ponder.rb
index 38b6fc7bb8cda06ea54745497409f599671c6c7c..fe06cb34049a63475a1b217155c67860ff3c96df 100644
--- a/lib/aethyr/core/actions/commands/emotes/ponder.rb
+++ b/lib/aethyr/core/actions/commands/emotes/ponder.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Ponder
-        class PonderCommand < Aethyr::Core::Actions::CommandAction
+        class PonderCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/shrug.rb b/lib/aethyr/core/actions/commands/emotes/shrug.rb
index bed18a1b4611ab6011560e826ddd8dcf2b8e1bc3..175bad13d9aa593a9a0b393eb0fd3ae44c7be378 100644
--- a/lib/aethyr/core/actions/commands/emotes/shrug.rb
+++ b/lib/aethyr/core/actions/commands/emotes/shrug.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Shrug
-        class ShrugCommand < Aethyr::Core::Actions::CommandAction
+        class ShrugCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/sigh.rb b/lib/aethyr/core/actions/commands/emotes/sigh.rb
index c569907af2e98d706db08d609a38280346c2a6d7..b85c78c361652dbfd5afe015f38a4f6978095735 100644
--- a/lib/aethyr/core/actions/commands/emotes/sigh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/sigh.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Sigh
-        class SighCommand < Aethyr::Core::Actions::CommandAction
+        class SighCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/skip.rb b/lib/aethyr/core/actions/commands/emotes/skip.rb
index 7bf91aab526f103fe87ed6d007b06ae78f36de7c..87332f88c40f3c82d4b83f452cd7cf0fd553920e 100644
--- a/lib/aethyr/core/actions/commands/emotes/skip.rb
+++ b/lib/aethyr/core/actions/commands/emotes/skip.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Skip
-        class SkipCommand < Aethyr::Core::Actions::CommandAction
+        class SkipCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/smile.rb b/lib/aethyr/core/actions/commands/emotes/smile.rb
index 4eabae9039c0927cc402ea147b1f5ca8b1053d4b..15613d7cc14717df73daa3eac94e8c1292224dd2 100644
--- a/lib/aethyr/core/actions/commands/emotes/smile.rb
+++ b/lib/aethyr/core/actions/commands/emotes/smile.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Smile
-        class SmileCommand < Aethyr::Core::Actions::CommandAction
+        class SmileCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/snicker.rb b/lib/aethyr/core/actions/commands/emotes/snicker.rb
index 722a5caab2de15bb66e2ba903358e2de22609b7d..245ec3c123f77827bea9e2d5bfe89adc53d5df0c 100644
--- a/lib/aethyr/core/actions/commands/emotes/snicker.rb
+++ b/lib/aethyr/core/actions/commands/emotes/snicker.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Snicker
-        class SnickerCommand < Aethyr::Core::Actions::CommandAction
+        class SnickerCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/uh.rb b/lib/aethyr/core/actions/commands/emotes/uh.rb
index 5dec4ae623d97c29cd01ac3e2ff54fc13acf69ea..76f83c76b137c1ec47758349b9dc41a25a6323cf 100644
--- a/lib/aethyr/core/actions/commands/emotes/uh.rb
+++ b/lib/aethyr/core/actions/commands/emotes/uh.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Uh
-        class UhCommand < Aethyr::Core::Actions::CommandAction
+        class UhCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/wave.rb b/lib/aethyr/core/actions/commands/emotes/wave.rb
index 2897f62f915f91bcbd16901b3e3b8d74597b4aa8..39a7759532e4f92867af004d5bfb6b53bd3752cf 100644
--- a/lib/aethyr/core/actions/commands/emotes/wave.rb
+++ b/lib/aethyr/core/actions/commands/emotes/wave.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Wave
-        class WaveCommand < Aethyr::Core::Actions::CommandAction
+        class WaveCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/yawn.rb b/lib/aethyr/core/actions/commands/emotes/yawn.rb
index 19d8ed4cb2319a9d734238d040d00db70921e5e5..f313f81125d663a7d21a73751a0881acf450c844 100644
--- a/lib/aethyr/core/actions/commands/emotes/yawn.rb
+++ b/lib/aethyr/core/actions/commands/emotes/yawn.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Yawn
-        class YawnCommand < Aethyr::Core::Actions::CommandAction
+        class YawnCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/actions/commands/emotes/yes.rb b/lib/aethyr/core/actions/commands/emotes/yes.rb
index 8431debd4e8154f3776cd65e4e1bd89320583c83..62cc287d0b78a0ad551d0509639eee855cdff072 100644
--- a/lib/aethyr/core/actions/commands/emotes/yes.rb
+++ b/lib/aethyr/core/actions/commands/emotes/yes.rb
@@ -1,10 +1,10 @@
-require "aethyr/core/actions/command_action"
+require "aethyr/core/actions/commands/emotes/emote_action"
 
 module Aethyr
   module Core
     module Actions
       module Yes
-        class YesCommand < Aethyr::Core::Actions::CommandAction
+        class YesCommand < Aethyr::Core::Actions::EmoteAction
           def initialize(actor, **data)
             super(actor, **data)
           end
diff --git a/lib/aethyr/core/input_handlers/emotes/agree.rb b/lib/aethyr/core/input_handlers/emotes/agree.rb
index c3ecbd349574b5d1266862d0e4abc97f22b89390..00e82b1ef0d011cd37c05334de2172ff066353b6 100644
--- a/lib/aethyr/core/input_handlers/emotes/agree.rb
+++ b/lib/aethyr/core/input_handlers/emotes/agree.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/agree"
+require "aethyr/core/actions/commands/emotes/agree"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/back.rb b/lib/aethyr/core/input_handlers/emotes/back.rb
index 18410f7c204fb94b6f5d175a50c9baae9007b2d2..3686787a9db567d1f5d2fdcc96266c118c64f0e7 100644
--- a/lib/aethyr/core/input_handlers/emotes/back.rb
+++ b/lib/aethyr/core/input_handlers/emotes/back.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/back"
+require "aethyr/core/actions/commands/emotes/back"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/blush.rb b/lib/aethyr/core/input_handlers/emotes/blush.rb
index 7cd80cd049a3cb40633f27bbaf8df4e020100acb..83cc9ff4b52f13ca43e8b9537661d6ef46a092a6 100644
--- a/lib/aethyr/core/input_handlers/emotes/blush.rb
+++ b/lib/aethyr/core/input_handlers/emotes/blush.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/blush"
+require "aethyr/core/actions/commands/emotes/blush"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/bow.rb b/lib/aethyr/core/input_handlers/emotes/bow.rb
index f8c086cd22dac92f0e9a34a058b53675a6200b12..8da2217c8b3aae1d654d7264c65cd10a57fb832d 100644
--- a/lib/aethyr/core/input_handlers/emotes/bow.rb
+++ b/lib/aethyr/core/input_handlers/emotes/bow.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/bow"
+require "aethyr/core/actions/commands/emotes/bow"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/brb.rb b/lib/aethyr/core/input_handlers/emotes/brb.rb
index 53a7585f1100eb8c0864188d65cb2b7368fee835..fc5224525dbfb7a20c05ea304249c914cf089504 100644
--- a/lib/aethyr/core/input_handlers/emotes/brb.rb
+++ b/lib/aethyr/core/input_handlers/emotes/brb.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/brb"
+require "aethyr/core/actions/commands/emotes/brb"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/bye.rb b/lib/aethyr/core/input_handlers/emotes/bye.rb
index 4d186511f31d1b405ad9300322f4b962e761d092..bb32281c98ca9f6ed1d0726f4da7a52911c034e5 100644
--- a/lib/aethyr/core/input_handlers/emotes/bye.rb
+++ b/lib/aethyr/core/input_handlers/emotes/bye.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/bye"
+require "aethyr/core/actions/commands/emotes/bye"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/cheer.rb b/lib/aethyr/core/input_handlers/emotes/cheer.rb
index 5b7701a33d6d334dfd8f5299552f65e23ec817bb..d3641a4b3984efb2bf7b291768b88b59295006e2 100644
--- a/lib/aethyr/core/input_handlers/emotes/cheer.rb
+++ b/lib/aethyr/core/input_handlers/emotes/cheer.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/cheer"
+require "aethyr/core/actions/commands/emotes/cheer"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/cry.rb b/lib/aethyr/core/input_handlers/emotes/cry.rb
index e6d4ad4c50d7a27a04f2b97ce4e2da35ef10919e..a115bb08e19a027094feaaab81e8dbc57067ab62 100644
--- a/lib/aethyr/core/input_handlers/emotes/cry.rb
+++ b/lib/aethyr/core/input_handlers/emotes/cry.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/cry"
+require "aethyr/core/actions/commands/emotes/cry"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/curtsey.rb b/lib/aethyr/core/input_handlers/emotes/curtsey.rb
index fda04183d97c8a031ef872322b24dc0dc166d756..fd968c6abe4ac695eabbb1e09b2a81ffb3db35bb 100644
--- a/lib/aethyr/core/input_handlers/emotes/curtsey.rb
+++ b/lib/aethyr/core/input_handlers/emotes/curtsey.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/curtsey"
+require "aethyr/core/actions/commands/emotes/curtsey"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/eh.rb b/lib/aethyr/core/input_handlers/emotes/eh.rb
index 57eec23cf7399a193b255ce57fe4e4bb49d78837..1538d607e99d581983e95f75fee952404f7e6974 100644
--- a/lib/aethyr/core/input_handlers/emotes/eh.rb
+++ b/lib/aethyr/core/input_handlers/emotes/eh.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/eh"
+require "aethyr/core/actions/commands/emotes/eh"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/emote.rb b/lib/aethyr/core/input_handlers/emotes/emote.rb
index da804e9e5dfe87bbf7a700535e8cedff7d56f02a..7c421a1306b9f8d70337f17cc89f1840a9e219c9 100644
--- a/lib/aethyr/core/input_handlers/emotes/emote.rb
+++ b/lib/aethyr/core/input_handlers/emotes/emote.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/emote"
+require "aethyr/core/actions/commands/emotes/emote"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/emote_handler.rb b/lib/aethyr/core/input_handlers/emotes/emote_handler.rb
index db00b9398fffc2f9e25f95e99d207a7f1a0ea1d3..95629d44c62084478c9ee11036240fb75f0a2567 100644
--- a/lib/aethyr/core/input_handlers/emotes/emote_handler.rb
+++ b/lib/aethyr/core/input_handlers/emotes/emote_handler.rb
@@ -7,143 +7,6 @@ module Aethyr
         super(player, commands, *args, **kwargs)
       end
 
-      protected
-
-      #Run an emote.
-      def make_emote event, player, room, &block
-        g = GenericEmote.new(event, player, room)
-        g.instance_eval(&block)
-        if g.return_event && (g.return_event.respond_to? :has_key?)
-          g.set_post #add postfix
-          log "Doing event" , Logger::Ultimate
-          room.out_event g.return_event
-        end
-      end
-
-
-      #Provides little DSL to easily create emotes.
-      class GenericEmote
-
-        attr_reader :return_event
-
-        def initialize(event, player, room)
-          @event = event
-          @event[:message_type] = :chat
-          @event[:player] = player
-          @player = player
-          @room = room
-          @post = event[:post]
-          @object = nil
-          @return_event = nil
-          find_target
-        end
-
-        #If there is no target, return the given block.
-        def no_target
-          return if @return_event
-
-          if @object.nil?
-            @return_event = yield
-          end
-        end
-
-        #If the target is the player, return the given block.
-        def self_target
-          return if @return_event
-
-          if @object == @player
-            @return_event = yield
-          end
-        end
-
-        #If there is a target, return the given block.
-        def target
-          return if @return_event
-
-          unless @object.nil?
-            @return_event = yield
-          end
-        end
-
-        #If nothing else matches, return the given block.
-        def default
-          @return_event = yield
-        end
-
-        #Provide output to show player.
-        def to_player output
-          @event[:to_player] = output
-          @event
-        end
-
-        #Provide output to show others.
-        def to_other output
-          @event[:to_other] = output
-          @event
-        end
-
-        #Provide output to show target.
-        def to_target output
-          @event[:to_target] = output
-          @event
-        end
-
-        #Provide output to show blind others.
-        def to_blind_other output
-          @event[:to_blind_other] = output
-          @event
-        end
-
-        #Provide output to show deaf others.
-        def to_deaf_other output
-          @event[:to_deaf_other] = output
-          @event
-        end
-
-        #Provide output to show blind target.
-        def to_blind_target output
-          @event[:to_blind_target] = output
-          @event
-        end
-
-        #Provide output to show deaf target.
-        def to_deaf_target output
-          @event[:to_deaf_target] = output
-          @event
-        end
-
-        #Appends suffix to emote.
-        def set_post
-          return if not @post
-          [:to_player, :to_other, :to_target, :to_blind_other, :to_blind_target, :to_deaf_other, :to_deaf_target].each do |t|
-            if @return_event[t]
-              if @return_event[t][-1,1] == "."
-                @return_event[t][-1] = ""
-              end
-
-              if @post[0,1] == ","
-                @return_event[t] << @post
-              else
-                @return_event[t] << " " << @post
-              end
-
-              unless ["!", "?", ".", "\"", "'"].include? @post[-1,1]
-                @return_event[t] << "."
-              end
-            end
-          end
-        end
-
-        private
-
-        #Find target for emote.
-        def find_target
-          if @object.nil? and @event[:object]
-            @object = @room.find(@event[:object]) || @player.search_inv(@event[:object])
-            @event[:target] = @object
-          end
-        end
-      end
     end
   end
 end
diff --git a/lib/aethyr/core/input_handlers/emotes/er.rb b/lib/aethyr/core/input_handlers/emotes/er.rb
index 35dd66cad4c31a69bd453c2974623ad9619d23a7..e300061f0c0ea434847c719fb097edfc5e5caab0 100644
--- a/lib/aethyr/core/input_handlers/emotes/er.rb
+++ b/lib/aethyr/core/input_handlers/emotes/er.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/er"
+require "aethyr/core/actions/commands/emotes/er"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/ew.rb b/lib/aethyr/core/input_handlers/emotes/ew.rb
index df1ea55dedb667be1b1775330dce7ec45a7408d5..01d86808766fe4c46ae94a30e9a789def6aaba51 100644
--- a/lib/aethyr/core/input_handlers/emotes/ew.rb
+++ b/lib/aethyr/core/input_handlers/emotes/ew.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/ew"
+require "aethyr/core/actions/commands/emotes/ew"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/frown.rb b/lib/aethyr/core/input_handlers/emotes/frown.rb
index e6f68f6629b2568190568e3d70636ce74641409c..b13a68806f6f8a13266d801f986607ba424f9f2b 100644
--- a/lib/aethyr/core/input_handlers/emotes/frown.rb
+++ b/lib/aethyr/core/input_handlers/emotes/frown.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/frown"
+require "aethyr/core/actions/commands/emotes/frown"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/grin.rb b/lib/aethyr/core/input_handlers/emotes/grin.rb
index eab8842bb14f7fac7e11dead8d9fef67f55dac30..eb75817c54e75eda75a6c8ae8cd19987c0b45c5b 100644
--- a/lib/aethyr/core/input_handlers/emotes/grin.rb
+++ b/lib/aethyr/core/input_handlers/emotes/grin.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/grin"
+require "aethyr/core/actions/commands/emotes/grin"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/hi.rb b/lib/aethyr/core/input_handlers/emotes/hi.rb
index d5799e6172b6ea1e73ce069a9df3bf5a63934719..76c0433bc317e77cf13c5d3f0d6918d499b95e23 100644
--- a/lib/aethyr/core/input_handlers/emotes/hi.rb
+++ b/lib/aethyr/core/input_handlers/emotes/hi.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/hi"
+require "aethyr/core/actions/commands/emotes/hi"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/hm.rb b/lib/aethyr/core/input_handlers/emotes/hm.rb
index 2d6745e45f62c0cf551d46504a04fcb740c5c6cd..87c508403beea4a11477d47bd1d498ee8927cfcb 100644
--- a/lib/aethyr/core/input_handlers/emotes/hm.rb
+++ b/lib/aethyr/core/input_handlers/emotes/hm.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/hm"
+require "aethyr/core/actions/commands/emotes/hm"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/hug.rb b/lib/aethyr/core/input_handlers/emotes/hug.rb
index 24d0c40d93c7ab7eb73d73f3cfc2185c697609e1..7e12df8aa63935b0c589fc0eefe30b50b96fca06 100644
--- a/lib/aethyr/core/input_handlers/emotes/hug.rb
+++ b/lib/aethyr/core/input_handlers/emotes/hug.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/hug"
+require "aethyr/core/actions/commands/emotes/hug"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/huh.rb b/lib/aethyr/core/input_handlers/emotes/huh.rb
index 325b201788267a652581a83e49145798b28b6c68..7a63aa49fc3e8f6df40e58a84f502959b50bdf86 100644
--- a/lib/aethyr/core/input_handlers/emotes/huh.rb
+++ b/lib/aethyr/core/input_handlers/emotes/huh.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/huh"
+require "aethyr/core/actions/commands/emotes/huh"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/laugh.rb b/lib/aethyr/core/input_handlers/emotes/laugh.rb
index 25ba10351eb8c5fd9dbac8c85d90e57e1203867b..6558c1ac54318e4dc89434600c3fae02dd3759d2 100644
--- a/lib/aethyr/core/input_handlers/emotes/laugh.rb
+++ b/lib/aethyr/core/input_handlers/emotes/laugh.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/laugh"
+require "aethyr/core/actions/commands/emotes/laugh"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/no.rb b/lib/aethyr/core/input_handlers/emotes/no.rb
index adbd8b5e60fd6abe3c353f5a5bd267111e360c2f..ef4e7909fedec3abf1c11df9e8410ca5bd675baa 100644
--- a/lib/aethyr/core/input_handlers/emotes/no.rb
+++ b/lib/aethyr/core/input_handlers/emotes/no.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/no"
+require "aethyr/core/actions/commands/emotes/no"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/nod.rb b/lib/aethyr/core/input_handlers/emotes/nod.rb
index 8a1a8413e30baa19cac333ff8216051b61658f2d..3afc61ee6bd32f9d4f887ed4290e32071c3ba183 100644
--- a/lib/aethyr/core/input_handlers/emotes/nod.rb
+++ b/lib/aethyr/core/input_handlers/emotes/nod.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/nod"
+require "aethyr/core/actions/commands/emotes/nod"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/pet.rb b/lib/aethyr/core/input_handlers/emotes/pet.rb
index 7ed820f967583f2a25f6215e65903b96da274f4c..073f3921ba475a57e83634901d688b8211a24ca2 100644
--- a/lib/aethyr/core/input_handlers/emotes/pet.rb
+++ b/lib/aethyr/core/input_handlers/emotes/pet.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/pet"
+require "aethyr/core/actions/commands/emotes/pet"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/poke.rb b/lib/aethyr/core/input_handlers/emotes/poke.rb
index b42bb9a8d0ffd709bab363d3ba29993382e33d3e..40f6b8c667bcf7589ad774249997282f4ad4a808 100644
--- a/lib/aethyr/core/input_handlers/emotes/poke.rb
+++ b/lib/aethyr/core/input_handlers/emotes/poke.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/poke"
+require "aethyr/core/actions/commands/emotes/poke"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/ponder.rb b/lib/aethyr/core/input_handlers/emotes/ponder.rb
index 09f9307e3632a64fb6e68b2291a4b9d85e2dc1c3..cf44b9b9c751eeb7a0b7401e991d4e1cae0f0347 100644
--- a/lib/aethyr/core/input_handlers/emotes/ponder.rb
+++ b/lib/aethyr/core/input_handlers/emotes/ponder.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/ponder"
+require "aethyr/core/actions/commands/emotes/ponder"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/shrug.rb b/lib/aethyr/core/input_handlers/emotes/shrug.rb
index 19d9b869ee1a94cc1bcd618f37447e2ed81e413a..27ac7f191e600741a3305298e6791812d24c69dc 100644
--- a/lib/aethyr/core/input_handlers/emotes/shrug.rb
+++ b/lib/aethyr/core/input_handlers/emotes/shrug.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/shrug"
+require "aethyr/core/actions/commands/emotes/shrug"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/sigh.rb b/lib/aethyr/core/input_handlers/emotes/sigh.rb
index 5532ac3da1f2b17414ab87d6707c1d32e765b633..d59d68916fb43765a14a2b574dfb7740a721ca1f 100644
--- a/lib/aethyr/core/input_handlers/emotes/sigh.rb
+++ b/lib/aethyr/core/input_handlers/emotes/sigh.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/sigh"
+require "aethyr/core/actions/commands/emotes/sigh"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/skip.rb b/lib/aethyr/core/input_handlers/emotes/skip.rb
index 7b5a70f98e3b5192a78993e7834ed3b92cb1070a..8ddaf2d1c18f1a56e571d6f3445ae0c76382ef98 100644
--- a/lib/aethyr/core/input_handlers/emotes/skip.rb
+++ b/lib/aethyr/core/input_handlers/emotes/skip.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/skip"
+require "aethyr/core/actions/commands/emotes/skip"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/smile.rb b/lib/aethyr/core/input_handlers/emotes/smile.rb
index c78d3328c6c00ce714af60fb04f791242ee2c992..f8330636945713b7c8e669d23b95c15629435193 100644
--- a/lib/aethyr/core/input_handlers/emotes/smile.rb
+++ b/lib/aethyr/core/input_handlers/emotes/smile.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/smile"
+require "aethyr/core/actions/commands/emotes/smile"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/snicker.rb b/lib/aethyr/core/input_handlers/emotes/snicker.rb
index c71ae1ee99a32ea4d8b1a62bffb7882dc5bcb911..773aeae5e47b1d05317605928ef135244decec79 100644
--- a/lib/aethyr/core/input_handlers/emotes/snicker.rb
+++ b/lib/aethyr/core/input_handlers/emotes/snicker.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/snicker"
+require "aethyr/core/actions/commands/emotes/snicker"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/uh.rb b/lib/aethyr/core/input_handlers/emotes/uh.rb
index 860fd93902a74fa0b2373937db0de3987cdd9376..67e9651c9abb4c4eea6bd3570618cfb603c9d002 100644
--- a/lib/aethyr/core/input_handlers/emotes/uh.rb
+++ b/lib/aethyr/core/input_handlers/emotes/uh.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/uh"
+require "aethyr/core/actions/commands/emotes/uh"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/wave.rb b/lib/aethyr/core/input_handlers/emotes/wave.rb
index d65a18917b3b68303062a1973027e49806b1999c..d6e62083f9cbf6a3583e84bc01ad71eefd46d1d7 100644
--- a/lib/aethyr/core/input_handlers/emotes/wave.rb
+++ b/lib/aethyr/core/input_handlers/emotes/wave.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/wave"
+require "aethyr/core/actions/commands/emotes/wave"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/yawn.rb b/lib/aethyr/core/input_handlers/emotes/yawn.rb
index 0f06d9fc243a18b84d1850ecb2ba8e343f87d309..937e4816e4ed46106b87003d12aace75a38acc7e 100644
--- a/lib/aethyr/core/input_handlers/emotes/yawn.rb
+++ b/lib/aethyr/core/input_handlers/emotes/yawn.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/yawn"
+require "aethyr/core/actions/commands/emotes/yawn"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"
 
diff --git a/lib/aethyr/core/input_handlers/emotes/yes.rb b/lib/aethyr/core/input_handlers/emotes/yes.rb
index cb7db80170efb2abe7701d6b177a51ccbd6d6c6f..cbc4fd458f597b9398f3513aea1b0e02596f3612 100644
--- a/lib/aethyr/core/input_handlers/emotes/yes.rb
+++ b/lib/aethyr/core/input_handlers/emotes/yes.rb
@@ -1,4 +1,4 @@
-require "aethyr/core/actions/commands/yes"
+require "aethyr/core/actions/commands/emotes/yes"
 require "aethyr/core/registry"
 require "aethyr/core/input_handlers/emotes/emote_handler"