diff --git a/Src/Xer.Cqrs.CommandStack.Extensions.Attributes/CommandHandlerAttributeMethod.Factories.cs b/Src/Xer.Cqrs.CommandStack.Extensions.Attributes/CommandHandlerAttributeMethod.Factories.cs
new file mode 100644
index 0000000..744c35c
--- /dev/null
+++ b/Src/Xer.Cqrs.CommandStack.Extensions.Attributes/CommandHandlerAttributeMethod.Factories.cs
@@ -0,0 +1,190 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Xer.Cqrs.CommandStack.Extensions.Attributes
+{
+ public partial class CommandHandlerAttributeMethod
+ {
+ #region Factory Methods
+
+ ///
+ /// Create CommandHandlerAttributeMethod from the method info.
+ ///
+ /// Method info that has CommandHandlerAttribute custom attribute.
+ /// Factory delegate that provides an instance of the method info's declaring type.
+ /// Instance of CommandHandlerAttributeMethod.
+ public static CommandHandlerAttributeMethod FromMethodInfo(MethodInfo methodInfo, Func