diff --git a/.editorconfig b/.editorconfig
index b67e280..4312166 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,4 +1,4 @@
-[*]
+﻿[*]
 charset = utf-8-bom
 indent_style = space
 indent_size = 4
@@ -7,23 +7,24 @@
 insert_final_newline=true
 
 # Microsoft .NET properties
-csharp_using_directive_placement = inside_namespace:silent
+csharp_using_directive_placement = inside_namespace:error
+csharp_space_after_cast = true
 
 # ReSharper properties
-resharper_constructor_or_destructor_body=expression_body
-resharper_local_function_body=expression_body
-resharper_method_or_operator_body=expression_body
-resharper_wrap_before_arrow_with_expressions=true
-resharper_csharp_insert_final_newline=true
-resharper_csharp_keep_blank_lines_in_code=1
-resharper_csharp_keep_blank_lines_in_declarations=1
-resharper_empty_block_style=together_same_line
-resharper_keep_existing_expr_member_arrangement=false
-resharper_place_expr_accessor_on_single_line=true
-resharper_place_expr_property_on_single_line=true
-resharper_space_within_single_line_array_initializer_braces=true
-resharper_use_indent_from_vs=false
+resharper_constructor_or_destructor_body = expression_body
+resharper_local_function_body = expression_body
+resharper_method_or_operator_body = expression_body
+resharper_wrap_before_arrow_with_expressions = true
+resharper_csharp_insert_final_newline = true
+resharper_csharp_keep_blank_lines_in_code = 1
+resharper_csharp_keep_blank_lines_in_declarations = 1
+resharper_empty_block_style = together_same_line
+resharper_keep_existing_expr_member_arrangement = false
+resharper_place_expr_accessor_on_single_line = true
+resharper_place_expr_property_on_single_line = true
+resharper_space_within_single_line_array_initializer_braces = true
+resharper_use_indent_from_vs = false
+resharper_sort_usings_with_system_first = false
 
 [{*.yaml, *.yml}]
 indent_size = 2
-
diff --git a/samples/Consuming/Program.cs b/samples/Consuming/Program.cs
index 22f19ca..d09ae3f 100644
--- a/samples/Consuming/Program.cs
+++ b/samples/Consuming/Program.cs
@@ -14,14 +14,14 @@
 
 namespace Consuming
 {
+    using DotPulsar;
+    using DotPulsar.Abstractions;
+    using DotPulsar.Extensions;
     using System;
     using System.Buffers;
     using System.Text;
     using System.Threading;
     using System.Threading.Tasks;
-    using DotPulsar;
-    using DotPulsar.Abstractions;
-    using DotPulsar.Extensions;
 
     internal static class Program
     {
diff --git a/samples/Producing/Program.cs b/samples/Producing/Program.cs
index 4989980..134d406 100644
--- a/samples/Producing/Program.cs
+++ b/samples/Producing/Program.cs
@@ -14,13 +14,13 @@
 
 namespace Producing
 {
+    using DotPulsar;
+    using DotPulsar.Abstractions;
+    using DotPulsar.Extensions;
     using System;
     using System.Text;
     using System.Threading;
     using System.Threading.Tasks;
-    using DotPulsar;
-    using DotPulsar.Abstractions;
-    using DotPulsar.Extensions;
 
     internal static class Program
     {
diff --git a/samples/Reading/Program.cs b/samples/Reading/Program.cs
index 4375112..0769cdc 100644
--- a/samples/Reading/Program.cs
+++ b/samples/Reading/Program.cs
@@ -14,14 +14,14 @@
 
 namespace Reading
 {
+    using DotPulsar;
+    using DotPulsar.Abstractions;
+    using DotPulsar.Extensions;
     using System;
     using System.Buffers;
     using System.Text;
     using System.Threading;
     using System.Threading.Tasks;
-    using DotPulsar;
-    using DotPulsar.Abstractions;
-    using DotPulsar.Extensions;
 
     internal static class Program
     {
diff --git a/src/DotPulsar/ConsumerStateChanged.cs b/src/DotPulsar/ConsumerStateChanged.cs
index e3f713e..6366e16 100644
--- a/src/DotPulsar/ConsumerStateChanged.cs
+++ b/src/DotPulsar/ConsumerStateChanged.cs
@@ -14,7 +14,7 @@
 
 namespace DotPulsar
 {
-    using DotPulsar.Abstractions;
+    using Abstractions;
 
     public sealed class ConsumerStateChanged
     {
diff --git a/src/DotPulsar/Exceptions/ConsumerDisposedException.cs b/src/DotPulsar/Exceptions/ConsumerDisposedException.cs
index c11206b..98ad756 100644
--- a/src/DotPulsar/Exceptions/ConsumerDisposedException.cs
+++ b/src/DotPulsar/Exceptions/ConsumerDisposedException.cs
@@ -1,7 +1,7 @@
 ﻿namespace DotPulsar.Exceptions
 {
-    using System;
     using Internal;
+    using System;
 
     public sealed class ConsumerDisposedException : ObjectDisposedException
     {
diff --git a/src/DotPulsar/Exceptions/ProducerDisposedException.cs b/src/DotPulsar/Exceptions/ProducerDisposedException.cs
index aee0b97..eabfa73 100644
--- a/src/DotPulsar/Exceptions/ProducerDisposedException.cs
+++ b/src/DotPulsar/Exceptions/ProducerDisposedException.cs
@@ -1,7 +1,7 @@
 ﻿namespace DotPulsar.Exceptions
 {
-    using System;
     using Internal;
+    using System;
 
     public sealed class ProducerDisposedException : ObjectDisposedException
     {
diff --git a/src/DotPulsar/Exceptions/ReaderDisposedException.cs b/src/DotPulsar/Exceptions/ReaderDisposedException.cs
index d95f5c8..df01535 100644
--- a/src/DotPulsar/Exceptions/ReaderDisposedException.cs
+++ b/src/DotPulsar/Exceptions/ReaderDisposedException.cs
@@ -1,7 +1,7 @@
 ﻿namespace DotPulsar.Exceptions
 {
-    using System;
     using Internal;
+    using System;
 
     public sealed class ReaderDisposedException : ObjectDisposedException
     {
diff --git a/src/DotPulsar/Internal/Abstractions/IConnection.cs b/src/DotPulsar/Internal/Abstractions/IConnection.cs
index 1e6857e..1adbe8f 100644
--- a/src/DotPulsar/Internal/Abstractions/IConnection.cs
+++ b/src/DotPulsar/Internal/Abstractions/IConnection.cs
@@ -14,10 +14,10 @@
 
 namespace DotPulsar.Internal.Abstractions
 {
+    using PulsarApi;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
-    using PulsarApi;
 
     public interface IConnection : IAsyncDisposable
     {
diff --git a/src/DotPulsar/Internal/Abstractions/IConsumerChannel.cs b/src/DotPulsar/Internal/Abstractions/IConsumerChannel.cs
index bbca812..d398cd8 100644
--- a/src/DotPulsar/Internal/Abstractions/IConsumerChannel.cs
+++ b/src/DotPulsar/Internal/Abstractions/IConsumerChannel.cs
@@ -14,10 +14,10 @@
 
 namespace DotPulsar.Internal.Abstractions
 {
+    using PulsarApi;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
-    using PulsarApi;
 
     public interface IConsumerChannel : IAsyncDisposable
     {
diff --git a/src/DotPulsar/Internal/Abstractions/IProducerChannel.cs b/src/DotPulsar/Internal/Abstractions/IProducerChannel.cs
index 43a97a9..8375447 100644
--- a/src/DotPulsar/Internal/Abstractions/IProducerChannel.cs
+++ b/src/DotPulsar/Internal/Abstractions/IProducerChannel.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar.Internal.Abstractions
 {
+    using PulsarApi;
     using System;
     using System.Buffers;
     using System.Threading;
     using System.Threading.Tasks;
-    using PulsarApi;
 
     public interface IProducerChannel : IAsyncDisposable
     {
diff --git a/src/DotPulsar/Internal/AsyncLock.cs b/src/DotPulsar/Internal/AsyncLock.cs
index b95f422..2e42b92 100644
--- a/src/DotPulsar/Internal/AsyncLock.cs
+++ b/src/DotPulsar/Internal/AsyncLock.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar.Internal
 {
+    using Exceptions;
     using System;
     using System.Collections.Generic;
     using System.Threading;
     using System.Threading.Tasks;
-    using Exceptions;
 
     public sealed class AsyncLock : IAsyncDisposable
     {
diff --git a/src/DotPulsar/Internal/AsyncLockExecutor.cs b/src/DotPulsar/Internal/AsyncLockExecutor.cs
index 690c1ed..05349d2 100644
--- a/src/DotPulsar/Internal/AsyncLockExecutor.cs
+++ b/src/DotPulsar/Internal/AsyncLockExecutor.cs
@@ -14,10 +14,10 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
 
     public sealed class AsyncLockExecutor : IExecute, IAsyncDisposable
     {
diff --git a/src/DotPulsar/Internal/AsyncQueue.cs b/src/DotPulsar/Internal/AsyncQueue.cs
index fc9c8f9..355bd32 100644
--- a/src/DotPulsar/Internal/AsyncQueue.cs
+++ b/src/DotPulsar/Internal/AsyncQueue.cs
@@ -14,12 +14,12 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using Exceptions;
     using System;
     using System.Collections.Generic;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
-    using Exceptions;
 
     public sealed class AsyncQueue<T> : IEnqueue<T>, IDequeue<T>, IDisposable
     {
diff --git a/src/DotPulsar/Internal/BatchHandler.cs b/src/DotPulsar/Internal/BatchHandler.cs
index 9aaff16..8209956 100644
--- a/src/DotPulsar/Internal/BatchHandler.cs
+++ b/src/DotPulsar/Internal/BatchHandler.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar.Internal
 {
+    using Extensions;
+    using PulsarApi;
     using System.Buffers;
     using System.Collections;
     using System.Collections.Generic;
-    using Extensions;
-    using PulsarApi;
 
     public sealed class BatchHandler
     {
diff --git a/src/DotPulsar/Internal/Channel.cs b/src/DotPulsar/Internal/Channel.cs
index 9fe0819..8d71572 100644
--- a/src/DotPulsar/Internal/Channel.cs
+++ b/src/DotPulsar/Internal/Channel.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar.Internal
 {
-    using System;
     using Abstractions;
     using Events;
+    using System;
 
     public sealed class Channel : IChannel
     {
diff --git a/src/DotPulsar/Internal/ChannelManager.cs b/src/DotPulsar/Internal/ChannelManager.cs
index 9eaf603..07c1d5a 100644
--- a/src/DotPulsar/Internal/ChannelManager.cs
+++ b/src/DotPulsar/Internal/ChannelManager.cs
@@ -14,12 +14,12 @@
 
 namespace DotPulsar.Internal
 {
-    using System;
-    using System.Buffers;
-    using System.Threading.Tasks;
     using Abstractions;
     using Extensions;
     using PulsarApi;
+    using System;
+    using System.Buffers;
+    using System.Threading.Tasks;
 
     public sealed class ChannelManager : IDisposable
     {
diff --git a/src/DotPulsar/Internal/Connection.cs b/src/DotPulsar/Internal/Connection.cs
index 6d2eb01..2582e73 100644
--- a/src/DotPulsar/Internal/Connection.cs
+++ b/src/DotPulsar/Internal/Connection.cs
@@ -14,12 +14,12 @@
 
 namespace DotPulsar.Internal
 {
-    using System.Threading;
-    using System.Threading.Tasks;
     using Abstractions;
     using Exceptions;
     using Extensions;
     using PulsarApi;
+    using System.Threading;
+    using System.Threading.Tasks;
 
     public sealed class Connection : IConnection
     {
diff --git a/src/DotPulsar/Internal/Consumer.cs b/src/DotPulsar/Internal/Consumer.cs
index 8e0fe34..2090cdf 100644
--- a/src/DotPulsar/Internal/Consumer.cs
+++ b/src/DotPulsar/Internal/Consumer.cs
@@ -14,16 +14,16 @@
 
 namespace DotPulsar.Internal
 {
-    using System;
-    using System.Collections.Generic;
-    using System.Runtime.CompilerServices;
-    using System.Threading;
-    using System.Threading.Tasks;
     using Abstractions;
     using DotPulsar.Abstractions;
     using DotPulsar.Exceptions;
     using Events;
     using PulsarApi;
+    using System;
+    using System.Collections.Generic;
+    using System.Runtime.CompilerServices;
+    using System.Threading;
+    using System.Threading.Tasks;
 
     public sealed class Consumer : IConsumer
     {
diff --git a/src/DotPulsar/Internal/ConsumerChannel.cs b/src/DotPulsar/Internal/ConsumerChannel.cs
index a40a7eb..cd0ba24 100644
--- a/src/DotPulsar/Internal/ConsumerChannel.cs
+++ b/src/DotPulsar/Internal/ConsumerChannel.cs
@@ -14,12 +14,12 @@
 
 namespace DotPulsar.Internal
 {
-    using System;
-    using System.Threading;
-    using System.Threading.Tasks;
     using Abstractions;
     using Extensions;
     using PulsarApi;
+    using System;
+    using System.Threading;
+    using System.Threading.Tasks;
 
     public sealed class ConsumerChannel : IConsumerChannel, IReaderChannel
     {
diff --git a/src/DotPulsar/Internal/ConsumerChannelFactory.cs b/src/DotPulsar/Internal/ConsumerChannelFactory.cs
index b15734b..94a68b9 100644
--- a/src/DotPulsar/Internal/ConsumerChannelFactory.cs
+++ b/src/DotPulsar/Internal/ConsumerChannelFactory.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using PulsarApi;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
-    using PulsarApi;
 
     public sealed class ConsumerChannelFactory : IConsumerChannelFactory
     {
diff --git a/src/DotPulsar/Internal/ConsumerProcess.cs b/src/DotPulsar/Internal/ConsumerProcess.cs
index 7db9994..fabf4d8 100644
--- a/src/DotPulsar/Internal/ConsumerProcess.cs
+++ b/src/DotPulsar/Internal/ConsumerProcess.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
     using System;
     using System.Threading.Tasks;
-    using Abstractions;
 
     public sealed class ConsumerProcess : Process
     {
diff --git a/src/DotPulsar/Internal/DefaultExceptionHandler.cs b/src/DotPulsar/Internal/DefaultExceptionHandler.cs
index 6e4821e..abc5601 100644
--- a/src/DotPulsar/Internal/DefaultExceptionHandler.cs
+++ b/src/DotPulsar/Internal/DefaultExceptionHandler.cs
@@ -14,13 +14,13 @@
 
 namespace DotPulsar.Internal
 {
+    using DotPulsar.Abstractions;
+    using DotPulsar.Exceptions;
+    using Exceptions;
     using System;
     using System.Net.Sockets;
     using System.Threading;
     using System.Threading.Tasks;
-    using DotPulsar.Abstractions;
-    using DotPulsar.Exceptions;
-    using Exceptions;
 
     public sealed class DefaultExceptionHandler : IHandleException
     {
diff --git a/src/DotPulsar/Internal/Events/ChannelActivated.cs b/src/DotPulsar/Internal/Events/ChannelActivated.cs
index d5d4d44..1300e24 100644
--- a/src/DotPulsar/Internal/Events/ChannelActivated.cs
+++ b/src/DotPulsar/Internal/Events/ChannelActivated.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ChannelActivated : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ChannelClosedByServer.cs b/src/DotPulsar/Internal/Events/ChannelClosedByServer.cs
index 7c14bbf..274f45c 100644
--- a/src/DotPulsar/Internal/Events/ChannelClosedByServer.cs
+++ b/src/DotPulsar/Internal/Events/ChannelClosedByServer.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ChannelClosedByServer : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ChannelConnected.cs b/src/DotPulsar/Internal/Events/ChannelConnected.cs
index 83cc366..6640d62 100644
--- a/src/DotPulsar/Internal/Events/ChannelConnected.cs
+++ b/src/DotPulsar/Internal/Events/ChannelConnected.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ChannelConnected : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ChannelDeactivated.cs b/src/DotPulsar/Internal/Events/ChannelDeactivated.cs
index fa47c19..5b0cf93 100644
--- a/src/DotPulsar/Internal/Events/ChannelDeactivated.cs
+++ b/src/DotPulsar/Internal/Events/ChannelDeactivated.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ChannelDeactivated : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ChannelDisconnected.cs b/src/DotPulsar/Internal/Events/ChannelDisconnected.cs
index a3b223e..60e98b2 100644
--- a/src/DotPulsar/Internal/Events/ChannelDisconnected.cs
+++ b/src/DotPulsar/Internal/Events/ChannelDisconnected.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ChannelDisconnected : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ChannelReachedEndOfTopic.cs b/src/DotPulsar/Internal/Events/ChannelReachedEndOfTopic.cs
index 7f16ec5..08c1d4e 100644
--- a/src/DotPulsar/Internal/Events/ChannelReachedEndOfTopic.cs
+++ b/src/DotPulsar/Internal/Events/ChannelReachedEndOfTopic.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ChannelReachedEndOfTopic : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ChannelUnsubscribed.cs b/src/DotPulsar/Internal/Events/ChannelUnsubscribed.cs
index eae9ef4..000cf7c 100644
--- a/src/DotPulsar/Internal/Events/ChannelUnsubscribed.cs
+++ b/src/DotPulsar/Internal/Events/ChannelUnsubscribed.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ChannelUnsubscribed : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ConsumerCreated.cs b/src/DotPulsar/Internal/Events/ConsumerCreated.cs
index 0add8f0..19edea8 100644
--- a/src/DotPulsar/Internal/Events/ConsumerCreated.cs
+++ b/src/DotPulsar/Internal/Events/ConsumerCreated.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ConsumerCreated : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ConsumerDisposed.cs b/src/DotPulsar/Internal/Events/ConsumerDisposed.cs
index be05a6f..ffe3bdf 100644
--- a/src/DotPulsar/Internal/Events/ConsumerDisposed.cs
+++ b/src/DotPulsar/Internal/Events/ConsumerDisposed.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ConsumerDisposed : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ExecutorFaulted.cs b/src/DotPulsar/Internal/Events/ExecutorFaulted.cs
index 2b4c356..33661a2 100644
--- a/src/DotPulsar/Internal/Events/ExecutorFaulted.cs
+++ b/src/DotPulsar/Internal/Events/ExecutorFaulted.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ExecutorFaulted : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ProducerCreated.cs b/src/DotPulsar/Internal/Events/ProducerCreated.cs
index 8df093e..1c77f06 100644
--- a/src/DotPulsar/Internal/Events/ProducerCreated.cs
+++ b/src/DotPulsar/Internal/Events/ProducerCreated.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ProducerCreated : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ProducerDisposed.cs b/src/DotPulsar/Internal/Events/ProducerDisposed.cs
index 7de116e..849f6d9 100644
--- a/src/DotPulsar/Internal/Events/ProducerDisposed.cs
+++ b/src/DotPulsar/Internal/Events/ProducerDisposed.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ProducerDisposed : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ReaderCreated.cs b/src/DotPulsar/Internal/Events/ReaderCreated.cs
index beb0750..905e58d 100644
--- a/src/DotPulsar/Internal/Events/ReaderCreated.cs
+++ b/src/DotPulsar/Internal/Events/ReaderCreated.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ReaderCreated : IEvent
     {
diff --git a/src/DotPulsar/Internal/Events/ReaderDisposed.cs b/src/DotPulsar/Internal/Events/ReaderDisposed.cs
index ba1cb11..c1bd28c 100644
--- a/src/DotPulsar/Internal/Events/ReaderDisposed.cs
+++ b/src/DotPulsar/Internal/Events/ReaderDisposed.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Events
 {
-    using System;
     using Abstractions;
+    using System;
 
     public sealed class ReaderDisposed : IEvent
     {
diff --git a/src/DotPulsar/Internal/ExceptionHandlerPipeline.cs b/src/DotPulsar/Internal/ExceptionHandlerPipeline.cs
index fd5f619..143555f 100644
--- a/src/DotPulsar/Internal/ExceptionHandlerPipeline.cs
+++ b/src/DotPulsar/Internal/ExceptionHandlerPipeline.cs
@@ -14,10 +14,10 @@
 
 namespace DotPulsar.Internal
 {
+    using DotPulsar.Abstractions;
     using System.Collections.Generic;
     using System.Linq;
     using System.Threading.Tasks;
-    using DotPulsar.Abstractions;
 
     public sealed class ExceptionHandlerPipeline : IHandleException
     {
diff --git a/src/DotPulsar/Internal/Exceptions/UnexpectedResponseException.cs b/src/DotPulsar/Internal/Exceptions/UnexpectedResponseException.cs
index e8a1f98..50b814d 100644
--- a/src/DotPulsar/Internal/Exceptions/UnexpectedResponseException.cs
+++ b/src/DotPulsar/Internal/Exceptions/UnexpectedResponseException.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Exceptions
 {
-    using System;
     using DotPulsar.Exceptions;
+    using System;
 
     public sealed class UnexpectedResponseException : DotPulsarException
     {
diff --git a/src/DotPulsar/Internal/Executor.cs b/src/DotPulsar/Internal/Executor.cs
index 64e7a76..540229e 100644
--- a/src/DotPulsar/Internal/Executor.cs
+++ b/src/DotPulsar/Internal/Executor.cs
@@ -14,12 +14,12 @@
 
 namespace DotPulsar.Internal
 {
-    using System;
-    using System.Threading;
-    using System.Threading.Tasks;
     using Abstractions;
     using DotPulsar.Abstractions;
     using Events;
+    using System;
+    using System.Threading;
+    using System.Threading.Tasks;
 
     public sealed class Executor : IExecute
     {
diff --git a/src/DotPulsar/Internal/Extensions/CommandExtensions.cs b/src/DotPulsar/Internal/Extensions/CommandExtensions.cs
index 9e595a4..f72fa31 100644
--- a/src/DotPulsar/Internal/Extensions/CommandExtensions.cs
+++ b/src/DotPulsar/Internal/Extensions/CommandExtensions.cs
@@ -30,7 +30,7 @@
 
             if (command.CommandType == BaseCommand.Type.SendError)
                 command.SendError.Throw();
-           
+
             throw new UnexpectedResponseException($"Expected '{type}' but got '{command.CommandType}'");
         }
 
diff --git a/src/DotPulsar/Internal/Extensions/MessagePackageExtensions.cs b/src/DotPulsar/Internal/Extensions/MessagePackageExtensions.cs
index 87a0bf7..928c7f4 100644
--- a/src/DotPulsar/Internal/Extensions/MessagePackageExtensions.cs
+++ b/src/DotPulsar/Internal/Extensions/MessagePackageExtensions.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal.Extensions
 {
-    using System.Buffers;
     using PulsarApi;
+    using System.Buffers;
 
     public static class MessagePackageExtensions
     {
diff --git a/src/DotPulsar/Internal/FuncExceptionHandler.cs b/src/DotPulsar/Internal/FuncExceptionHandler.cs
index 122e727..8d99a9e 100644
--- a/src/DotPulsar/Internal/FuncExceptionHandler.cs
+++ b/src/DotPulsar/Internal/FuncExceptionHandler.cs
@@ -1,8 +1,8 @@
 ﻿namespace DotPulsar.Internal
 {
+    using DotPulsar.Abstractions;
     using System;
     using System.Threading.Tasks;
-    using DotPulsar.Abstractions;
 
     public sealed class FuncExceptionHandler : IHandleException
     {
diff --git a/src/DotPulsar/Internal/MessageBuilder.cs b/src/DotPulsar/Internal/MessageBuilder.cs
index d6e8799..4e2a499 100644
--- a/src/DotPulsar/Internal/MessageBuilder.cs
+++ b/src/DotPulsar/Internal/MessageBuilder.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar.Internal
 {
+    using DotPulsar.Abstractions;
+    using Extensions;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
-    using DotPulsar.Abstractions;
-    using Extensions;
 
     public sealed class MessageBuilder : IMessageBuilder
     {
diff --git a/src/DotPulsar/Internal/MessagePackage.cs b/src/DotPulsar/Internal/MessagePackage.cs
index e8b249b..b953635 100644
--- a/src/DotPulsar/Internal/MessagePackage.cs
+++ b/src/DotPulsar/Internal/MessagePackage.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal
 {
-    using System.Buffers;
     using PulsarApi;
+    using System.Buffers;
 
     public readonly struct MessagePackage
     {
diff --git a/src/DotPulsar/Internal/NotReadyChannel.cs b/src/DotPulsar/Internal/NotReadyChannel.cs
index e7c2f3d..aec3f34 100644
--- a/src/DotPulsar/Internal/NotReadyChannel.cs
+++ b/src/DotPulsar/Internal/NotReadyChannel.cs
@@ -14,13 +14,13 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using Exceptions;
+    using PulsarApi;
     using System;
     using System.Buffers;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
-    using Exceptions;
-    using PulsarApi;
 
     public sealed class NotReadyChannel : IConsumerChannel, IProducerChannel, IReaderChannel
     {
diff --git a/src/DotPulsar/Internal/PingPongHandler.cs b/src/DotPulsar/Internal/PingPongHandler.cs
index 69918b1..9e39cc9 100644
--- a/src/DotPulsar/Internal/PingPongHandler.cs
+++ b/src/DotPulsar/Internal/PingPongHandler.cs
@@ -14,10 +14,10 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using PulsarApi;
     using System.Threading;
     using System.Threading.Tasks;
-    using DotPulsar.Internal.Abstractions;
-    using DotPulsar.Internal.PulsarApi;
 
     public sealed class PingPongHandler
     {
diff --git a/src/DotPulsar/Internal/Process.cs b/src/DotPulsar/Internal/Process.cs
index d0050a9..40b9712 100644
--- a/src/DotPulsar/Internal/Process.cs
+++ b/src/DotPulsar/Internal/Process.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal
 {
-    using DotPulsar.Internal.Abstractions;
-    using DotPulsar.Internal.Events;
+    using Abstractions;
+    using Events;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
@@ -36,9 +36,8 @@
 
         public Guid CorrelationId { get; }
 
-        protected abstract void CalculateState();
-
-        public void Start() => CalculateState();
+        public void Start()
+            => CalculateState();
 
         public abstract ValueTask DisposeAsync();
 
@@ -74,5 +73,7 @@
 
             CalculateState();
         }
+
+        protected abstract void CalculateState();
     }
 }
diff --git a/src/DotPulsar/Internal/ProcessManager.cs b/src/DotPulsar/Internal/ProcessManager.cs
index 29b1e0b..18714cc 100644
--- a/src/DotPulsar/Internal/ProcessManager.cs
+++ b/src/DotPulsar/Internal/ProcessManager.cs
@@ -14,12 +14,12 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using Events;
     using System;
     using System.Collections.Concurrent;
     using System.Linq;
     using System.Threading.Tasks;
-    using Abstractions;
-    using Events;
 
     public sealed class ProcessManager : IRegisterEvent, IAsyncDisposable
     {
diff --git a/src/DotPulsar/Internal/Producer.cs b/src/DotPulsar/Internal/Producer.cs
index ecaa24c..a40c494 100644
--- a/src/DotPulsar/Internal/Producer.cs
+++ b/src/DotPulsar/Internal/Producer.cs
@@ -14,14 +14,14 @@
 
 namespace DotPulsar.Internal
 {
-    using System;
-    using System.Buffers;
-    using System.Threading;
-    using System.Threading.Tasks;
     using Abstractions;
     using DotPulsar.Abstractions;
     using DotPulsar.Exceptions;
     using Events;
+    using System;
+    using System.Buffers;
+    using System.Threading;
+    using System.Threading.Tasks;
 
     public sealed class Producer : IProducer
     {
diff --git a/src/DotPulsar/Internal/ProducerChannel.cs b/src/DotPulsar/Internal/ProducerChannel.cs
index 16542dd..4ae8503 100644
--- a/src/DotPulsar/Internal/ProducerChannel.cs
+++ b/src/DotPulsar/Internal/ProducerChannel.cs
@@ -14,13 +14,13 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using Extensions;
+    using PulsarApi;
     using System;
     using System.Buffers;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
-    using Extensions;
-    using PulsarApi;
 
     public sealed class ProducerChannel : IProducerChannel
     {
diff --git a/src/DotPulsar/Internal/ProducerChannelFactory.cs b/src/DotPulsar/Internal/ProducerChannelFactory.cs
index c8432f3..e7d8327 100644
--- a/src/DotPulsar/Internal/ProducerChannelFactory.cs
+++ b/src/DotPulsar/Internal/ProducerChannelFactory.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using PulsarApi;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
-    using PulsarApi;
 
     public sealed class ProducerChannelFactory : IProducerChannelFactory
     {
@@ -57,7 +57,7 @@
             var connection = await _connectionPool.FindConnectionForTopic(_commandProducer.Topic, cancellationToken).ConfigureAwait(false);
             var channel = new Channel(_correlationId, _eventRegister, new AsyncQueue<MessagePackage>());
             var response = await connection.Send(_commandProducer, channel, cancellationToken).ConfigureAwait(false);
-            
+
             return new ProducerChannel(response.ProducerId, response.ProducerName, _sequenceId, connection);
         }
     }
diff --git a/src/DotPulsar/Internal/ProducerProcess.cs b/src/DotPulsar/Internal/ProducerProcess.cs
index ef39c9b..c2f1cba 100644
--- a/src/DotPulsar/Internal/ProducerProcess.cs
+++ b/src/DotPulsar/Internal/ProducerProcess.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
     using System;
     using System.Threading.Tasks;
-    using Abstractions;
 
     public sealed class ProducerProcess : Process
     {
diff --git a/src/DotPulsar/Internal/PulsarClientBuilder.cs b/src/DotPulsar/Internal/PulsarClientBuilder.cs
index 201bf01..35959bd 100644
--- a/src/DotPulsar/Internal/PulsarClientBuilder.cs
+++ b/src/DotPulsar/Internal/PulsarClientBuilder.cs
@@ -14,14 +14,14 @@
 
 namespace DotPulsar.Internal
 {
+    using DotPulsar.Abstractions;
+    using DotPulsar.Exceptions;
+    using PulsarApi;
     using System;
     using System.Collections.Generic;
     using System.Security.Cryptography.X509Certificates;
     using System.Text;
     using System.Threading.Tasks;
-    using DotPulsar.Abstractions;
-    using DotPulsar.Exceptions;
-    using PulsarApi;
 
     public sealed class PulsarClientBuilder : IPulsarClientBuilder
     {
diff --git a/src/DotPulsar/Internal/PulsarStream.cs b/src/DotPulsar/Internal/PulsarStream.cs
index 46e1cec..6f820cf 100644
--- a/src/DotPulsar/Internal/PulsarStream.cs
+++ b/src/DotPulsar/Internal/PulsarStream.cs
@@ -14,6 +14,9 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using Exceptions;
+    using Extensions;
     using System;
     using System.Buffers;
     using System.Collections.Generic;
@@ -22,9 +25,6 @@
     using System.Runtime.CompilerServices;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
-    using Exceptions;
-    using Extensions;
 
     public sealed class PulsarStream : IPulsarStream
     {
diff --git a/src/DotPulsar/Internal/Reader.cs b/src/DotPulsar/Internal/Reader.cs
index 3d2c455..2cab4a9 100644
--- a/src/DotPulsar/Internal/Reader.cs
+++ b/src/DotPulsar/Internal/Reader.cs
@@ -14,15 +14,15 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using DotPulsar.Abstractions;
+    using DotPulsar.Exceptions;
+    using Events;
     using System;
     using System.Collections.Generic;
     using System.Runtime.CompilerServices;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
-    using DotPulsar.Abstractions;
-    using DotPulsar.Exceptions;
-    using Events;
 
     public sealed class Reader : IReader
     {
diff --git a/src/DotPulsar/Internal/ReaderChannelFactory.cs b/src/DotPulsar/Internal/ReaderChannelFactory.cs
index 447119a..03140ad 100644
--- a/src/DotPulsar/Internal/ReaderChannelFactory.cs
+++ b/src/DotPulsar/Internal/ReaderChannelFactory.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
+    using PulsarApi;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
-    using PulsarApi;
 
     public sealed class ReaderChannelFactory : IReaderChannelFactory
     {
diff --git a/src/DotPulsar/Internal/ReaderProcess.cs b/src/DotPulsar/Internal/ReaderProcess.cs
index 845bf54..f5ef119 100644
--- a/src/DotPulsar/Internal/ReaderProcess.cs
+++ b/src/DotPulsar/Internal/ReaderProcess.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
     using System;
     using System.Threading.Tasks;
-    using Abstractions;
 
     public sealed class ReaderProcess : Process
     {
diff --git a/src/DotPulsar/Internal/RequestResponseHandler.cs b/src/DotPulsar/Internal/RequestResponseHandler.cs
index 3b57a44..c023c56 100644
--- a/src/DotPulsar/Internal/RequestResponseHandler.cs
+++ b/src/DotPulsar/Internal/RequestResponseHandler.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar.Internal
 {
+    using PulsarApi;
     using System;
     using System.Threading.Tasks;
-    using PulsarApi;
 
     public sealed class RequestResponseHandler : IDisposable
     {
diff --git a/src/DotPulsar/Internal/SendPackage.cs b/src/DotPulsar/Internal/SendPackage.cs
index 2acc07e..297b248 100644
--- a/src/DotPulsar/Internal/SendPackage.cs
+++ b/src/DotPulsar/Internal/SendPackage.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Internal
 {
-    using System.Buffers;
     using PulsarApi;
+    using System.Buffers;
 
     public sealed class SendPackage
     {
diff --git a/src/DotPulsar/Internal/Serializer.cs b/src/DotPulsar/Internal/Serializer.cs
index ca5f108..fe1f09a 100644
--- a/src/DotPulsar/Internal/Serializer.cs
+++ b/src/DotPulsar/Internal/Serializer.cs
@@ -14,10 +14,10 @@
 
 namespace DotPulsar.Internal
 {
+    using PulsarApi;
     using System;
     using System.Buffers;
     using System.IO;
-    using PulsarApi;
 
     public static class Serializer
     {
diff --git a/src/DotPulsar/Internal/StateManager.cs b/src/DotPulsar/Internal/StateManager.cs
index f9fab5d..d3f3789 100644
--- a/src/DotPulsar/Internal/StateManager.cs
+++ b/src/DotPulsar/Internal/StateManager.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar.Internal
 {
+    using Abstractions;
     using System.Threading;
     using System.Threading.Tasks;
-    using Abstractions;
 
     public sealed class StateManager<TState> : IStateManager<TState> where TState : notnull
     {
diff --git a/src/DotPulsar/Message.cs b/src/DotPulsar/Message.cs
index 2c0adec..0e4dfac 100644
--- a/src/DotPulsar/Message.cs
+++ b/src/DotPulsar/Message.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar
 {
+    using Internal.PulsarApi;
     using System;
     using System.Buffers;
     using System.Collections.Generic;
     using System.Linq;
-    using Internal.PulsarApi;
 
     public sealed class Message
     {
diff --git a/src/DotPulsar/MessageId.cs b/src/DotPulsar/MessageId.cs
index 4118eb9..6708f65 100644
--- a/src/DotPulsar/MessageId.cs
+++ b/src/DotPulsar/MessageId.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar
 {
-    using System;
     using Internal.PulsarApi;
+    using System;
 
     public sealed class MessageId : IEquatable<MessageId>
     {
diff --git a/src/DotPulsar/MessageMetadata.cs b/src/DotPulsar/MessageMetadata.cs
index 4429f88..61ef1bc 100644
--- a/src/DotPulsar/MessageMetadata.cs
+++ b/src/DotPulsar/MessageMetadata.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar
 {
-    using System;
     using Internal.Extensions;
     using Internal.PulsarApi;
+    using System;
 
     public sealed class MessageMetadata
     {
diff --git a/src/DotPulsar/ProducerStateChanged.cs b/src/DotPulsar/ProducerStateChanged.cs
index 30491f5..0e3babd 100644
--- a/src/DotPulsar/ProducerStateChanged.cs
+++ b/src/DotPulsar/ProducerStateChanged.cs
@@ -14,7 +14,7 @@
 
 namespace DotPulsar
 {
-    using DotPulsar.Abstractions;
+    using Abstractions;
 
     public sealed class ProducerStateChanged
     {
diff --git a/src/DotPulsar/PulsarClient.cs b/src/DotPulsar/PulsarClient.cs
index b341172..7043ae6 100644
--- a/src/DotPulsar/PulsarClient.cs
+++ b/src/DotPulsar/PulsarClient.cs
@@ -14,13 +14,13 @@
 
 namespace DotPulsar
 {
-    using System;
-    using System.Threading;
-    using System.Threading.Tasks;
     using Abstractions;
     using Exceptions;
     using Internal;
     using Internal.Abstractions;
+    using System;
+    using System.Threading;
+    using System.Threading.Tasks;
 
     public sealed class PulsarClient : IPulsarClient
     {
diff --git a/src/DotPulsar/ReaderStateChanged.cs b/src/DotPulsar/ReaderStateChanged.cs
index 523cc7a..2ce04a2 100644
--- a/src/DotPulsar/ReaderStateChanged.cs
+++ b/src/DotPulsar/ReaderStateChanged.cs
@@ -14,7 +14,7 @@
 
 namespace DotPulsar
 {
-    using DotPulsar.Abstractions;
+    using Abstractions;
 
     public sealed class ReaderStateChanged
     {
diff --git a/tests/DotPulsar.StressTests/ConnectionTests.cs b/tests/DotPulsar.StressTests/ConnectionTests.cs
index 41a5485..3f350b4 100644
--- a/tests/DotPulsar.StressTests/ConnectionTests.cs
+++ b/tests/DotPulsar.StressTests/ConnectionTests.cs
@@ -14,11 +14,11 @@
 
 namespace DotPulsar.StressTests
 {
+    using Extensions;
+    using Fixtures;
     using System;
     using System.Threading;
     using System.Threading.Tasks;
-    using Extensions;
-    using Fixtures;
     using Xunit;
     using Xunit.Abstractions;
 
diff --git a/tests/DotPulsar.StressTests/ConsumerTests.cs b/tests/DotPulsar.StressTests/ConsumerTests.cs
index 71a829a..6dd648f 100644
--- a/tests/DotPulsar.StressTests/ConsumerTests.cs
+++ b/tests/DotPulsar.StressTests/ConsumerTests.cs
@@ -14,15 +14,15 @@
 
 namespace DotPulsar.StressTests
 {
+    using Extensions;
+    using Fixtures;
+    using FluentAssertions;
     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using System.Threading;
     using System.Threading.Tasks;
-    using Extensions;
-    using Fixtures;
-    using FluentAssertions;
     using Xunit;
     using Xunit.Abstractions;
 
diff --git a/tests/DotPulsar.StressTests/XunitExceptionHandler.cs b/tests/DotPulsar.StressTests/XunitExceptionHandler.cs
index ada5a82..2fa2a4c 100644
--- a/tests/DotPulsar.StressTests/XunitExceptionHandler.cs
+++ b/tests/DotPulsar.StressTests/XunitExceptionHandler.cs
@@ -14,10 +14,10 @@
 
 namespace DotPulsar.StressTests
 {
-    using System;
-    using System.Threading.Tasks;
     using Abstractions;
     using Internal;
+    using System;
+    using System.Threading.Tasks;
     using Xunit.Abstractions;
 
     internal class XunitExceptionHandler : IHandleException
diff --git a/tests/DotPulsar.Tests/Internal/AsyncLockTests.cs b/tests/DotPulsar.Tests/Internal/AsyncLockTests.cs
index bb7a151..3a3d8af 100644
--- a/tests/DotPulsar.Tests/Internal/AsyncLockTests.cs
+++ b/tests/DotPulsar.Tests/Internal/AsyncLockTests.cs
@@ -14,10 +14,10 @@
 
 namespace DotPulsar.Tests.Internal
 {
-    using System.Threading;
-    using System.Threading.Tasks;
     using DotPulsar.Internal;
     using DotPulsar.Internal.Exceptions;
+    using System.Threading;
+    using System.Threading.Tasks;
     using Xunit;
 
     public class AsyncLockTests
diff --git a/tests/DotPulsar.Tests/Internal/AsyncQueueTests.cs b/tests/DotPulsar.Tests/Internal/AsyncQueueTests.cs
index 301d539..b15fed2 100644
--- a/tests/DotPulsar.Tests/Internal/AsyncQueueTests.cs
+++ b/tests/DotPulsar.Tests/Internal/AsyncQueueTests.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar.Tests.Internal
 {
+    using DotPulsar.Internal;
     using System.Threading;
     using System.Threading.Tasks;
-    using DotPulsar.Internal;
     using Xunit;
 
     public class AsyncQueueTests
diff --git a/tests/DotPulsar.Tests/Internal/SequenceBuilderTests.cs b/tests/DotPulsar.Tests/Internal/SequenceBuilderTests.cs
index 60a8e86..f8c649c 100644
--- a/tests/DotPulsar.Tests/Internal/SequenceBuilderTests.cs
+++ b/tests/DotPulsar.Tests/Internal/SequenceBuilderTests.cs
@@ -14,8 +14,8 @@
 
 namespace DotPulsar.Tests.Internal
 {
-    using System.Buffers;
     using DotPulsar.Internal;
+    using System.Buffers;
     using Xunit;
 
     public class SequenceBuilderTests
diff --git a/tests/DotPulsar.Tests/Internal/StateManagerTests.cs b/tests/DotPulsar.Tests/Internal/StateManagerTests.cs
index 9ea4aa9..b813fa4 100644
--- a/tests/DotPulsar.Tests/Internal/StateManagerTests.cs
+++ b/tests/DotPulsar.Tests/Internal/StateManagerTests.cs
@@ -14,9 +14,9 @@
 
 namespace DotPulsar.Tests.Internal
 {
+    using DotPulsar.Internal;
     using System.Threading;
     using System.Threading.Tasks;
-    using DotPulsar.Internal;
     using Xunit;
 
     public class StateManagerTests
