diff --git a/lib/aethyr/core/actions/commands/say.rb b/lib/aethyr/core/actions/commands/say.rb
index 9b60ba6b6e304313432e4210eb89676060dd35a6..2b29013c35d475ed0eafa614b8a82f59a98f9446 100644
--- a/lib/aethyr/core/actions/commands/say.rb
+++ b/lib/aethyr/core/actions/commands/say.rb
@@ -77,33 +77,34 @@ module Aethyr
 
             phrase = "<say>\"#{phrase}#{ender}\"</say>"
 
-            self[:message_type] = :chat
-            self[:target] = target
+            room_out_event = { :player => self[:agent] }
+            room_out_event[:message_type] = :chat
+            room_out_event[:target] = target
             if target and pvoice == "ask"
-              self[:to_target] = prefix + "#{self[:agent].name} #{rvoice} you, #{phrase}"
-              self[:to_player] = prefix + "you #{pvoice} #{target.name}, #{phrase}"
-              self[:to_other] = prefix + "#{self[:agent].name} #{rvoice} #{target.name}, #{phrase}"
-              self[:to_blind_target] = "Someone asks, #{phrase}"
-              self[:to_blind_other] = "Someone asks, #{phrase}"
-              self[:to_deaf_target] = "#{self[:agent].name} seems to be asking you something."
-              self[:to_deaf_other] = "#{self[:agent].name} seems to be asking #{target.name} something."
+              room_out_event[:to_target] = prefix + "#{self[:agent].name} #{rvoice} you, #{phrase}"
+              room_out_event[:to_player] = prefix + "you #{pvoice} #{target.name}, #{phrase}"
+              room_out_event[:to_other] = prefix + "#{self[:agent].name} #{rvoice} #{target.name}, #{phrase}"
+              room_out_event[:to_blind_target] = "Someone asks, #{phrase}"
+              room_out_event[:to_blind_other] = "Someone asks, #{phrase}"
+              room_out_event[:to_deaf_target] = "#{self[:agent].name} seems to be asking you something."
+              room_out_event[:to_deaf_other] = "#{self[:agent].name} seems to be asking #{target.name} something."
             elsif target
-              self[:to_target] = prefix + "#{self[:agent].name} #{rvoice} to you, #{phrase}"
-              self[:to_player] = prefix + "you #{pvoice} to #{target.name}, #{phrase}"
-              self[:to_other] = prefix + "#{self[:agent].name} #{rvoice} to #{target.name}, #{phrase}"
-              self[:to_blind_target] = "Someone #{rvoice}, #{phrase}"
-              self[:to_blind_other] = "Someone #{rvoice}, #{phrase}"
-              self[:to_deaf_target] = "You see #{self[:agent].name} say something to you."
-              self[:to_deaf_other] = "You see #{self[:agent].name} say something to #{target.name}."
+              room_out_event[:to_target] = prefix + "#{self[:agent].name} #{rvoice} to you, #{phrase}"
+              room_out_event[:to_player] = prefix + "you #{pvoice} to #{target.name}, #{phrase}"
+              room_out_event[:to_other] = prefix + "#{self[:agent].name} #{rvoice} to #{target.name}, #{phrase}"
+              room_out_event[:to_blind_target] = "Someone #{rvoice}, #{phrase}"
+              room_out_event[:to_blind_other] = "Someone #{rvoice}, #{phrase}"
+              room_out_event[:to_deaf_target] = "You see #{self[:agent].name} say something to you."
+              room_out_event[:to_deaf_other] = "You see #{self[:agent].name} say something to #{target.name}."
             else
-              self[:to_player] = prefix + "you #{pvoice}, #{phrase}"
-              self[:to_other] = prefix + "#{self[:agent].name} #{rvoice}, #{phrase}"
-              self[:to_blind_other] = "Someone #{rvoice}, #{phrase}"
-              self[:to_deaf_target] = "You see #{self[:agent].name} say something."
-              self[:to_deaf_other] = "You see #{self[:agent].name} say something."
+              room_out_event[:to_player] = prefix + "you #{pvoice}, #{phrase}"
+              room_out_event[:to_other] = prefix + "#{self[:agent].name} #{rvoice}, #{phrase}"
+              room_out_event[:to_blind_other] = "Someone #{rvoice}, #{phrase}"
+              room_out_event[:to_deaf_target] = "You see #{self[:agent].name} say something."
+              room_out_event[:to_deaf_other] = "You see #{self[:agent].name} say something."
             end
 
-            room.out_event(event)
+            room.out_event(Event.new(room_out_event))
           end
         end
       end
diff --git a/lib/aethyr/core/objects/game_object.rb b/lib/aethyr/core/objects/game_object.rb
index 710fbceb79e59447a47910a6d1833841ae66a82d..249c88eba308c2866d8bbf320c40eb9698b8e22f 100644
--- a/lib/aethyr/core/objects/game_object.rb
+++ b/lib/aethyr/core/objects/game_object.rb
@@ -153,14 +153,7 @@ class GameObject < Publisher
 
   #Returns plural form of object's name.
   def plural
-    return @plural if @plural
-    if @generic
-      "#{@generic}s"
-    elsif @name
-      "#{@names}s"
-    else
-      "unkowns"
-    end
+    return noun(:proper => true, :plurality => Lexicon::Plurality::PLURAL)
   end
 
   #Run any logic you need (thinking).
diff --git a/lib/aethyr/core/objects/traits/lexicon.rb b/lib/aethyr/core/objects/traits/lexicon.rb
index 2173a32c2c2da284704f9a39050141c619585f9a..7f634cd9787c7815d1846cc6727301c28c86ca14 100644
--- a/lib/aethyr/core/objects/traits/lexicon.rb
+++ b/lib/aethyr/core/objects/traits/lexicon.rb
@@ -218,9 +218,13 @@ module Lexicon
 
   def noun(proper = true, plurality: nil, gramatical_person: nil, relation: nil, subjectivity: nil, quantifier: nil)
     if proper
-      final_noun = @name
+      final_noun = @name ? @name : (@generic ? @generic : "unknown")
       if plurality == Plurality::PLURAL
-        final_noun += 's'
+        if @plural
+          final_noun = @plural
+        else
+          final_noun += 's'
+        end
         final_noun += '\'' if relation == Relation::POSSESSIVE
       elsif relation == Relation::POSSESSIVE
         final_nount += '\'s'