Repository: Tochemey/goakt
Pull request #609 (2025-01-26 16:33:55)

refactor: renaming

codecov[bot]: ## [Codecov](https://app.codecov.io/gh/Tochemey/goakt/pull/609?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Arsene) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 87.02%. Comparing base [(`293fcff`)](https://app.codecov.io/gh/Tochemey/goakt/commit/293fcff70a2254f001a2f2378bfcbbae2b542451?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Arsene) to head [(`69f0738`)](https://app.codecov.io/gh/Tochemey/goakt/commit/69f073825544f585baf1a9e65b677cca44a0fe21?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Arsene).

<details><summary>Additional details and impacted files</summary>


```diff
@@           Coverage Diff           @@
##             main     #609   +/-   ##
=======================================
  Coverage   87.02%   87.02%           
=======================================
  Files          60       60           
  Lines        5713     5713           
=======================================
  Hits         4972     4972           
  Misses        596      596           
  Partials      145      145           
```

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/Tochemey/goakt/pull/609?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Arsene).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Arsene).


Patch:
diff --git a/actors/actor_system.go b/actors/actor_system.go
index e2f6916..28f40df 100644
--- a/actors/actor_system.go
+++ b/actors/actor_system.go
@@ -1360,7 +1360,7 @@ func (x *actorSystem) enableClustering(ctx context.Context) error {
 		cluster.WithReadQuorum(x.clusterConfig.ReadQuorum()),
 		cluster.WithReplicaCount(x.clusterConfig.ReplicaCount()),
 		cluster.WithTLS(x.tlsServerConfig, x.tlsClientConfig),
-		cluster.WithStorageSize(x.clusterConfig.StorageSize()),
+		cluster.WithKVStoreSize(x.clusterConfig.KVStoreSize()),
 	)
 	if err != nil {
 		x.logger.Errorf("failed to initialize cluster engine: %v", err)
diff --git a/actors/cluster_config.go b/actors/cluster_config.go
index 17d1c2e..3897114 100644
--- a/actors/cluster_config.go
+++ b/actors/cluster_config.go
@@ -46,7 +46,7 @@ type ClusterConfig struct {
 	discoveryPort      int
 	peersPort          int
 	kinds              []Actor
-	storageSize        uint64
+	kvStoreSize        uint64
 }
 
 // enforce compilation error
@@ -61,7 +61,7 @@ func NewClusterConfig() *ClusterConfig {
 		readQuorum:         1,
 		replicaCount:       1,
 		partitionCount:     271,
-		storageSize:        20 * size.MB,
+		kvStoreSize:        20 * size.MB,
 	}
 }
 
@@ -171,16 +171,16 @@ func (x *ClusterConfig) WithReadQuorum(count uint32) *ClusterConfig {
 	return x
 }
 
-// WithStorageSize sets the cluster in-memory storage size
+// WithKVStoreSize sets the key/value in-memory storage size
 // The default values is 20MB
-func (x *ClusterConfig) WithStorageSize(size uint64) *ClusterConfig {
-	x.storageSize = size
+func (x *ClusterConfig) WithKVStoreSize(size uint64) *ClusterConfig {
+	x.kvStoreSize = size
 	return x
 }
 
-// StorageSize returns the cluster storage size
-func (x *ClusterConfig) StorageSize() uint64 {
-	return x.storageSize
+// KVStoreSize returns the cluster storage size
+func (x *ClusterConfig) KVStoreSize() uint64 {
+	return x.kvStoreSize
 }
 
 // Validate validates the cluster config
diff --git a/internal/cluster/engine.go b/internal/cluster/engine.go
index b63c9aa..506e55f 100644
--- a/internal/cluster/engine.go
+++ b/internal/cluster/engine.go
@@ -150,7 +150,7 @@ type Engine struct {
 	actorsMap   olric.DMap
 	statesMap   olric.DMap
 	jobKeysMap  olric.DMap
-	storageSize uint64
+	kvStoreSize uint64
 
 	// specifies the discovery node
 	node *discovery.Node
@@ -208,7 +208,7 @@ func NewEngine(name string, disco discovery.Provider, host *discovery.Node, opts
 		Mutex:                  new(sync.Mutex),
 		nodeJoinedEventsFilter: goset.NewSet[string](),
 		nodeLeftEventsFilter:   goset.NewSet[string](),
-		storageSize:            20 * size.MB,
+		kvStoreSize:            20 * size.MB,
 		running:                atomic.NewBool(false),
 	}
 	// apply the various options
@@ -838,7 +838,7 @@ func (x *Engine) buildConfig() (*config.Config, error) {
 
 	// set the cluster storage tableSize
 	options := storage.NewConfig(nil)
-	options.Add("tableSize", x.storageSize)
+	options.Add("tableSize", x.kvStoreSize)
 
 	// create the config and return it
 	conf := &config.Config{
diff --git a/internal/cluster/option.go b/internal/cluster/option.go
index 1d56432..f74f000 100644
--- a/internal/cluster/option.go
+++ b/internal/cluster/option.go
@@ -130,9 +130,9 @@ func WithTLS(serverConfig, clientConfig *tls.Config) Option {
 	})
 }
 
-// WithStorageSize sets the cluster table storage size
-func WithStorageSize(size uint64) Option {
+// WithKVStoreSize sets the cluster table storage size
+func WithKVStoreSize(size uint64) Option {
 	return OptionFunc(func(eng *Engine) {
-		eng.storageSize = size
+		eng.kvStoreSize = size
 	})
 }
diff --git a/internal/lib/lib.go b/internal/util/util.go
similarity index 99%
rename from internal/lib/lib.go
rename to internal/util/util.go
index 7d63911..fc3bdc2 100644
--- a/internal/lib/lib.go
+++ b/internal/util/util.go
@@ -22,7 +22,7 @@
  * SOFTWARE.
  */
 
-package lib
+package util
 
 import (
 	"log"


Test patch:
diff --git a/actors/actor_system_test.go b/actors/actor_system_test.go
index 828436d..edec0aa 100644
--- a/actors/actor_system_test.go
+++ b/actors/actor_system_test.go
@@ -41,7 +41,7 @@ import (
 
 	"github.com/tochemey/goakt/v2/address"
 	"github.com/tochemey/goakt/v2/goaktpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	testkit "github.com/tochemey/goakt/v2/mocks/discovery"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
@@ -91,7 +91,7 @@ func TestActorSystem(t *testing.T) {
 		err := sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		actor := newMockActor()
 		actorRef, err := sys.Spawn(ctx, "Test", actor)
@@ -101,7 +101,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NotZero(t, sys.Uptime())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		err = sys.Stop(ctx)
 		assert.NoError(t, err)
 	})
@@ -120,7 +120,7 @@ func TestActorSystem(t *testing.T) {
 		assert.Nil(t, actorRef)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -150,7 +150,7 @@ func TestActorSystem(t *testing.T) {
 		assert.True(t, ref1 == ref2)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -205,7 +205,7 @@ func TestActorSystem(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for the cluster to start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create an actor
 		actorName := uuid.NewString()
@@ -216,7 +216,7 @@ func TestActorSystem(t *testing.T) {
 
 		// wait for a while for replication to take effect
 		// otherwise the subsequent test will return actor not found
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// get the actor
 		addr, _, err := newActorSystem.ActorOf(ctx, actorName)
@@ -253,7 +253,7 @@ func TestActorSystem(t *testing.T) {
 		require.Nil(t, remoteAddr)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		t.Cleanup(
@@ -284,7 +284,7 @@ func TestActorSystem(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for the cluster to fully start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create an actor
 		actorName := uuid.NewString()
@@ -322,7 +322,7 @@ func TestActorSystem(t *testing.T) {
 		require.NotNil(t, addr)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -347,7 +347,7 @@ func TestActorSystem(t *testing.T) {
 		require.Nil(t, addr)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -398,7 +398,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 
 		// send a message to the actor
 		reply, err := Ask(ctx, actorRef, new(testpb.TestReply), replyTimeout)
@@ -408,7 +408,7 @@ func TestActorSystem(t *testing.T) {
 		require.True(t, proto.Equal(expected, reply))
 		require.True(t, actorRef.IsRunning())
 
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 
 		// restart the actor
 		_, err = sys.ReSpawn(ctx, actorName)
@@ -416,7 +416,7 @@ func TestActorSystem(t *testing.T) {
 
 		// wait for the actor to complete start
 		// TODO we can add a callback for complete start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, actorRef.IsRunning())
 
 		var items []*goaktpb.ActorRestarted
@@ -463,7 +463,7 @@ func TestActorSystem(t *testing.T) {
 		require.True(t, actorRef.IsRunning())
 
 		// wait for a while for the system to stop
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// restart the actor
 		pid, err := sys.ReSpawn(ctx, actorName)
 		require.Error(t, err)
@@ -499,13 +499,13 @@ func TestActorSystem(t *testing.T) {
 		require.True(t, proto.Equal(expected, reply))
 		require.True(t, actorRef.IsRunning())
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = sys.Kill(ctx, actorName)
 		require.NoError(t, err)
 
 		// wait for a while for the system to stop
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// restart the actor
 		_, err = sys.ReSpawn(ctx, actorName)
 		require.Error(t, err)
@@ -556,7 +556,7 @@ func TestActorSystem(t *testing.T) {
 		require.True(t, proto.Equal(expected, reply))
 		require.True(t, actorRef.IsRunning())
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// restart the actor
 		_, err = newActorSystem.ReSpawn(ctx, actorName)
@@ -564,7 +564,7 @@ func TestActorSystem(t *testing.T) {
 
 		// wait for the actor to complete start
 		// TODO we can add a callback for complete start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, actorRef.IsRunning())
 
 		t.Cleanup(
@@ -588,7 +588,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NotNil(t, actorRef)
 
 		// wait for the start of the actor to be complete
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.EqualValues(t, 1, sys.NumActors())
 
@@ -618,7 +618,7 @@ func TestActorSystem(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting := NewRemoting()
 		actorName := "some-actor"
@@ -641,7 +641,7 @@ func TestActorSystem(t *testing.T) {
 		require.Nil(t, reply)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		t.Cleanup(
@@ -718,7 +718,7 @@ func TestActorSystem(t *testing.T) {
 		require.Nil(t, remoteAddr)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -749,7 +749,7 @@ func TestActorSystem(t *testing.T) {
 		require.Equal(t, ref.Address().String(), local.Address().String())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -773,7 +773,7 @@ func TestActorSystem(t *testing.T) {
 		require.EqualError(t, err, ErrActorNotFound("some-name").Error())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -831,7 +831,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NoError(t, err)
 
 		// wait for the system to properly start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		actorName := "HousekeeperActor"
 		actorHandler := newMockActor()
@@ -840,7 +840,7 @@ func TestActorSystem(t *testing.T) {
 		require.NotNil(t, actorRef)
 
 		// wait for the actor to properly start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// locate the actor
 		ref, err := sys.LocalActor(actorName)
@@ -849,7 +849,7 @@ func TestActorSystem(t *testing.T) {
 		require.EqualError(t, err, ErrActorNotFound(actorName).Error())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -871,7 +871,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NoError(t, err)
 
 		// wait for the system to properly start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		partition := sys.GetPartition("some-actor")
 		assert.Zero(t, partition)
@@ -897,7 +897,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NotNil(t, actorRef)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -914,7 +914,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NoError(t, err)
 
 		// wait for complete start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a deadletter subscriber
 		consumer, err := sys.Subscribe()
@@ -928,14 +928,14 @@ func TestActorSystem(t *testing.T) {
 		assert.NotNil(t, actorRef)
 
 		// wait a while
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// every message sent to the actor will result in deadletters
 		for i := 0; i < 5; i++ {
 			require.NoError(t, Tell(ctx, actorRef, new(testpb.TestSend)))
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var items []*goaktpb.Deadletter
 		for message := range consumer.Iterator() {
@@ -985,7 +985,7 @@ func TestActorSystem(t *testing.T) {
 		// stop the actor system
 		assert.NoError(t, sys.Stop(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a deadletter subscriber
 		err = sys.Unsubscribe(consumer)
@@ -1037,7 +1037,7 @@ func TestActorSystem(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for the cluster to start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create an actor
 		actorName := uuid.NewString()
@@ -1048,7 +1048,7 @@ func TestActorSystem(t *testing.T) {
 
 		// wait for a while for replication to take effect
 		// otherwise the subsequent test will return actor not found
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// get the actor
 		addr, pid, err := newActorSystem.ActorOf(ctx, actorName)
@@ -1064,7 +1064,7 @@ func TestActorSystem(t *testing.T) {
 		require.Nil(t, remoteAddr)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		err = newActorSystem.Stop(ctx)
 		assert.NoError(t, err)
 		provider.AssertExpectations(t)
@@ -1096,7 +1096,7 @@ func TestActorSystem(t *testing.T) {
 		require.NotNil(t, subscriber2)
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// capture the joins
 		var joins []*goaktpb.NodeJoined
@@ -1115,7 +1115,7 @@ func TestActorSystem(t *testing.T) {
 		require.Equal(t, peerAddress2, joins[0].GetAddress())
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// stop the node
 		require.NoError(t, cl1.Unsubscribe(subscriber1))
@@ -1123,7 +1123,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NoError(t, sd1.Close())
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var lefts []*goaktpb.NodeLeft
 		for event := range subscriber2.Iterator() {
@@ -1190,7 +1190,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NotNil(t, actorRef)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor
 		require.NoError(t, Tell(ctx, actorRef, &testpb.Reply{Content: "test spawn from func"}))
@@ -1263,7 +1263,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NotNil(t, actorRef)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor
 		require.NoError(t, Tell(ctx, actorRef, &testpb.Reply{Content: "test spawn from func"}))
@@ -1328,7 +1328,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NotNil(t, actorRef)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor
 		require.NoError(t, Tell(ctx, actorRef, &testpb.Reply{Content: "test spawn from func"}))
@@ -1512,7 +1512,7 @@ func TestActorSystem(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for the cluster to start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting := NewRemoting()
 		// create an actor
@@ -1562,7 +1562,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NoError(t, err)
 
 		// wait for complete start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the black hole actor
 		actor := newMockActor()
@@ -1571,7 +1571,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NotNil(t, pid)
 
 		// wait a while
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.EqualValues(t, 1, pid.ProcessedCount())
 		require.True(t, pid.IsRunning())
 
@@ -1582,7 +1582,7 @@ func TestActorSystem(t *testing.T) {
 			counter = counter + 1
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.EqualValues(t, counter, pid.ProcessedCount()-1)
 		require.NoError(t, err)
@@ -1610,7 +1610,7 @@ func TestActorSystem(t *testing.T) {
 		peerAddress2 := node2.PeerAddress()
 		require.NotEmpty(t, peerAddress2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create an actor on node1
 		actor := newMockActor()
@@ -1618,7 +1618,7 @@ func TestActorSystem(t *testing.T) {
 		_, err := node1.Spawn(ctx, actorName, actor)
 		require.NoError(t, err)
 
-		lib.Pause(200 * time.Millisecond)
+		util.Pause(200 * time.Millisecond)
 
 		_, err = node2.Spawn(ctx, actorName, actor)
 		require.Error(t, err)
@@ -1644,7 +1644,7 @@ func TestActorSystem(t *testing.T) {
 		err := sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		actor := newMockActor()
 		actorRef, err := sys.Spawn(ctx, "Test", actor)
@@ -1654,7 +1654,7 @@ func TestActorSystem(t *testing.T) {
 		assert.NotZero(t, sys.Uptime())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		err = sys.Stop(ctx)
 		assert.Error(t, err)
 	})
@@ -1674,7 +1674,7 @@ func TestActorSystem(t *testing.T) {
 		err := sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		actor := newMockActor()
 		actorRef, err := sys.Spawn(ctx, "Test", actor)
@@ -1684,11 +1684,11 @@ func TestActorSystem(t *testing.T) {
 		assert.NotZero(t, sys.Uptime())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		err = sys.Stop(ctx)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.Zero(t, sys.Uptime())
 		require.EqualValues(t, 2, counter.Load())
@@ -1714,7 +1714,7 @@ func TestActorSystem(t *testing.T) {
 		require.NotNil(t, node3)
 		require.NotNil(t, sd3)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create an actor on node1
 		actor := newMockActor()
@@ -1722,7 +1722,7 @@ func TestActorSystem(t *testing.T) {
 		_, err := node1.Spawn(ctx, actorName, actor)
 		require.NoError(t, err)
 
-		lib.Pause(200 * time.Millisecond)
+		util.Pause(200 * time.Millisecond)
 
 		_, err = node2.Spawn(ctx, actorName, actor)
 		require.Error(t, err)
diff --git a/actors/api_test.go b/actors/api_test.go
index 34585e2..e377e6e 100644
--- a/actors/api_test.go
+++ b/actors/api_test.go
@@ -35,7 +35,7 @@ import (
 	"google.golang.org/protobuf/types/known/anypb"
 
 	"github.com/tochemey/goakt/v2/internal/internalpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 )
@@ -60,7 +60,7 @@ func TestAsk(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -101,7 +101,7 @@ func TestAsk(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -111,7 +111,7 @@ func TestAsk(t *testing.T) {
 			assert.NotNil(t, actorRef)
 
 			// Shutdown the actor after some time
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 			require.NoError(t, actorRef.Shutdown(ctx))
 
 			// create a message to send to the test actor
@@ -145,7 +145,7 @@ func TestAsk(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -185,7 +185,7 @@ func TestAsk(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -194,7 +194,7 @@ func TestAsk(t *testing.T) {
 			require.NoError(t, err)
 			assert.NotNil(t, actorRef)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a message to send to the test actor
 			message := &internalpb.RemoteMessage{
@@ -228,7 +228,7 @@ func TestAsk(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -273,7 +273,7 @@ func TestAsk(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -292,7 +292,7 @@ func TestAsk(t *testing.T) {
 
 			// stop the actor after some time
 			// this is due to the actor Waitgroup to gracefully close
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			err = sys.Stop(ctx)
 		},
@@ -316,7 +316,7 @@ func TestAsk(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -360,7 +360,7 @@ func TestTell(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -369,7 +369,7 @@ func TestTell(t *testing.T) {
 			require.NoError(t, err)
 			assert.NotNil(t, actorRef)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a message to send to the test actor
 			message := new(testpb.TestSend)
@@ -379,7 +379,7 @@ func TestTell(t *testing.T) {
 			require.NoError(t, err)
 
 			// stop the actor after some time
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			err = sys.Stop(ctx)
 			assert.NoError(t, err)
@@ -404,7 +404,7 @@ func TestTell(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -414,7 +414,7 @@ func TestTell(t *testing.T) {
 			assert.NotNil(t, actorRef)
 
 			// Shutdown the actor after some time
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 			require.NoError(t, actorRef.Shutdown(ctx))
 
 			// create a message to send to the test actor
@@ -447,7 +447,7 @@ func TestTell(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -486,7 +486,7 @@ func TestTell(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -495,7 +495,7 @@ func TestTell(t *testing.T) {
 			require.NoError(t, err)
 			assert.NotNil(t, actorRef)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a message to send to the test actor
 			// send the message to the actor
@@ -503,7 +503,7 @@ func TestTell(t *testing.T) {
 			// perform some assertions
 			require.NoError(t, err)
 			// wait for processing to be done
-			lib.Pause(500 * time.Millisecond)
+			util.Pause(500 * time.Millisecond)
 			require.EqualValues(t, 2, actorRef.ProcessedCount()-1)
 
 			err = sys.Stop(ctx)
@@ -529,7 +529,7 @@ func TestTell(t *testing.T) {
 			err = sys.Start(ctx)
 			assert.NoError(t, err)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			// create a test actor
 			actorName := "test"
@@ -538,7 +538,7 @@ func TestTell(t *testing.T) {
 			require.NoError(t, err)
 			assert.NotNil(t, actorRef)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 			require.NoError(t, actorRef.Shutdown(ctx))
 
 			// create a message to send to the test actor
diff --git a/actors/cluster_config_test.go b/actors/cluster_config_test.go
index 24789af..4344956 100644
--- a/actors/cluster_config_test.go
+++ b/actors/cluster_config_test.go
@@ -49,7 +49,7 @@ func TestClusterConfig(t *testing.T) {
 			WithWriteQuorum(1).
 			WithReadQuorum(1).
 			WithPartitionCount(3).
-			WithStorageSize(10 * size.MB).
+			WithKVStoreSize(10 * size.MB).
 			WithDiscovery(disco)
 
 		require.NoError(t, config.Validate())
@@ -60,7 +60,7 @@ func TestClusterConfig(t *testing.T) {
 		assert.EqualValues(t, 1, config.ReadQuorum())
 		assert.EqualValues(t, 1, config.WriteQuorum())
 		assert.EqualValues(t, 3, config.PartitionCount())
-		assert.Exactly(t, uint64(10*size.MB), config.StorageSize())
+		assert.Exactly(t, uint64(10*size.MB), config.KVStoreSize())
 		assert.True(t, disco == config.Discovery())
 		assert.Len(t, config.Kinds(), 3)
 	})
diff --git a/actors/deadletters_test.go b/actors/deadletters_test.go
index 3763ab5..ad6dabe 100644
--- a/actors/deadletters_test.go
+++ b/actors/deadletters_test.go
@@ -34,7 +34,7 @@ import (
 
 	"github.com/tochemey/goakt/v2/goaktpb"
 	"github.com/tochemey/goakt/v2/internal/internalpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 )
@@ -49,7 +49,7 @@ func TestDeadletters(t *testing.T) {
 		assert.NoError(t, err)
 
 		// wait for complete start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a deadletter subscriber
 		consumer, err := sys.Subscribe()
@@ -63,14 +63,14 @@ func TestDeadletters(t *testing.T) {
 		assert.NotNil(t, actorRef)
 
 		// wait a while
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// every message sent to the actor will result in deadletters
 		for i := 0; i < 5; i++ {
 			require.NoError(t, Tell(ctx, actorRef, new(testpb.TestSend)))
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var items []*goaktpb.Deadletter
 		for message := range consumer.Iterator() {
@@ -110,7 +110,7 @@ func TestDeadletters(t *testing.T) {
 		assert.NoError(t, err)
 
 		// wait for complete start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a deadletter subscriber
 		consumer, err := sys.Subscribe()
@@ -124,14 +124,14 @@ func TestDeadletters(t *testing.T) {
 		assert.NotNil(t, actorRef)
 
 		// wait a while
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// every message sent to the actor will result in deadletters
 		for i := 0; i < 5; i++ {
 			require.NoError(t, Tell(ctx, actorRef, new(testpb.TestSend)))
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var items []*goaktpb.Deadletter
 		for message := range consumer.Iterator() {
diff --git a/actors/mock_test.go b/actors/mock_test.go
index 90911d5..3b1775c 100644
--- a/actors/mock_test.go
+++ b/actors/mock_test.go
@@ -42,8 +42,8 @@ import (
 	"github.com/tochemey/goakt/v2/discovery"
 	"github.com/tochemey/goakt/v2/discovery/nats"
 	"github.com/tochemey/goakt/v2/goaktpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
 	"github.com/tochemey/goakt/v2/internal/testutil"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 	testspb "github.com/tochemey/goakt/v2/test/data/testpb"
@@ -86,7 +86,7 @@ func (p *mockActor) Receive(ctx *ReceiveContext) {
 		wg := sync.WaitGroup{}
 		wg.Add(1)
 		go func() {
-			lib.Pause(receivingDelay)
+			util.Pause(receivingDelay)
 			wg.Done()
 		}()
 		// block until timer is up
@@ -513,7 +513,7 @@ func startClusterSystem(t *testing.T, serverAddr string, opts ...testClusterOpti
 
 	// start the node
 	require.NoError(t, system.Start(ctx))
-	lib.Pause(2 * time.Second)
+	util.Pause(2 * time.Second)
 
 	// return the cluster startNode
 	return system, provider
diff --git a/actors/pid_test.go b/actors/pid_test.go
index e3572b4..74d9641 100644
--- a/actors/pid_test.go
+++ b/actors/pid_test.go
@@ -39,7 +39,7 @@ import (
 
 	"github.com/tochemey/goakt/v2/address"
 	"github.com/tochemey/goakt/v2/goaktpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 	testspb "github.com/tochemey/goakt/v2/test/data/testpb"
@@ -65,14 +65,14 @@ func TestReceive(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor ref
 		pid, err := actorSystem.Spawn(ctx, "name", newMockActor())
 		require.NoError(t, err)
 		assert.NotNil(t, pid)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// let us send 10 messages to the actor
 		count := 10
@@ -87,7 +87,7 @@ func TestReceive(t *testing.T) {
 			pid.doReceive(receiveContext)
 		}
 
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 		assert.Zero(t, pid.ChildrenCount())
 		assert.NotZero(t, pid.LatestProcessedDuration())
 		assert.EqualValues(t, 10, pid.ProcessedCount()-1) // 1 because of the PostStart message
@@ -122,7 +122,7 @@ func TestPassivation(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		pid, err := actorSystem.Spawn(ctx, "test", newMockActor())
@@ -133,7 +133,7 @@ func TestPassivation(t *testing.T) {
 		wg := sync.WaitGroup{}
 		wg.Add(1)
 		go func() {
-			lib.Pause(receivingDelay)
+			util.Pause(receivingDelay)
 			wg.Done()
 		}()
 		// block until timer is up
@@ -158,7 +158,7 @@ func TestPassivation(t *testing.T) {
 		require.NotNil(t, actorSystem)
 
 		require.NoError(t, actorSystem.Start(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		pid, err := actorSystem.Spawn(ctx, "test", &mockPostStopActor{})
@@ -169,7 +169,7 @@ func TestPassivation(t *testing.T) {
 		wg := sync.WaitGroup{}
 		wg.Add(1)
 		go func() {
-			lib.Pause(receivingDelay)
+			util.Pause(receivingDelay)
 			wg.Done()
 		}()
 		// block until timer is up
@@ -195,7 +195,7 @@ func TestReply(t *testing.T) {
 		require.NotNil(t, actorSystem)
 
 		require.NoError(t, actorSystem.Start(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid, err := actorSystem.Spawn(ctx, "test", newMockActor())
 		require.NoError(t, err)
@@ -224,7 +224,7 @@ func TestReply(t *testing.T) {
 		require.NotNil(t, actorSystem)
 
 		require.NoError(t, actorSystem.Start(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		pid, err := actorSystem.Spawn(ctx, "test", newMockActor())
@@ -254,7 +254,7 @@ func TestReply(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		pid, err := actorSystem.Spawn(ctx, "test", newMockActor())
@@ -288,14 +288,14 @@ func TestRestart(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid, err := actorSystem.Spawn(ctx, "test", newMockActor())
 
 		require.NoError(t, err)
 		assert.NotNil(t, pid)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.NotZero(t, pid.Uptime())
 
@@ -303,7 +303,7 @@ func TestRestart(t *testing.T) {
 		err = pid.Shutdown(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.Zero(t, pid.Uptime())
 
 		// let us send a message to the actor
@@ -342,7 +342,7 @@ func TestRestart(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid, err := actorSystem.Spawn(ctx, "test", newMockActor())
 
@@ -359,7 +359,7 @@ func TestRestart(t *testing.T) {
 		err = pid.Restart(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.True(t, pid.IsRunning())
 
@@ -389,23 +389,23 @@ func TestRestart(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid, err := actorSystem.Spawn(ctx, "test", newMockActor())
 		require.NoError(t, err)
 		require.NotNil(t, pid)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		cid, err := pid.SpawnChild(ctx, "child", newMockActor())
 		require.NoError(t, err)
 		require.NotNil(t, cid)
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 
 		gcid, err := cid.SpawnChild(ctx, "grandchild", newMockActor())
 		require.NoError(t, err)
 		require.NotNil(t, gcid)
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 
 		require.EqualValues(t, 1, pid.ChildrenCount())
 
@@ -421,7 +421,7 @@ func TestRestart(t *testing.T) {
 		require.NoError(t, err)
 		require.True(t, pid.IsRunning())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.EqualValues(t, 1, pid.RestartCount())
 		require.EqualValues(t, 1, pid.ChildrenCount())
@@ -452,7 +452,7 @@ func TestRestart(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a Ping actor
 		actor := newRestart()
@@ -499,7 +499,7 @@ func TestRestart(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a Ping actor
 		actor := &mockPostStopActor{}
@@ -538,22 +538,22 @@ func TestRestart(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid, err := actorSystem.Spawn(ctx, "test", newMockActor())
 		require.NoError(t, err)
 		require.NotNil(t, pid)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		cid, err := pid.SpawnChild(ctx, "child", newRestart())
 		require.NoError(t, err)
 		require.NotNil(t, cid)
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 
 		require.EqualValues(t, 1, pid.ChildrenCount())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// restart the actor
 		err = pid.Restart(ctx)
@@ -579,7 +579,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -620,7 +620,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -631,14 +631,14 @@ func TestSupervisorStrategy(t *testing.T) {
 		assert.NoError(t, err)
 		assert.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.Len(t, parent.Children(), 1)
 		// send a test panic message to the actor
 		assert.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		assert.False(t, child.IsRunning())
@@ -664,7 +664,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -676,14 +676,14 @@ func TestSupervisorStrategy(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.Len(t, parent.Children(), 1)
 		// send a test panic message to the actor
 		require.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		require.False(t, child.IsRunning())
@@ -713,7 +713,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -724,7 +724,7 @@ func TestSupervisorStrategy(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// just for the sake of the test we remove the default directive
 		child.supervisorStrategies = newStrategiesMap()
@@ -734,7 +734,7 @@ func TestSupervisorStrategy(t *testing.T) {
 		require.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		require.False(t, child.IsRunning())
@@ -761,7 +761,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 
@@ -774,14 +774,14 @@ func TestSupervisorStrategy(t *testing.T) {
 		assert.NoError(t, err)
 		assert.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.Len(t, parent.Children(), 1)
 		// send a test panic message to the actor
 		assert.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		assert.False(t, child.IsRunning())
@@ -807,7 +807,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -819,14 +819,14 @@ func TestSupervisorStrategy(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.Len(t, parent.Children(), 1)
 		// send a test panic message to the actor
 		require.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		require.True(t, child.IsRunning())
@@ -854,7 +854,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 
@@ -871,7 +871,7 @@ func TestSupervisorStrategy(t *testing.T) {
 		assert.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		assert.False(t, child.IsRunning())
@@ -897,7 +897,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -914,7 +914,7 @@ func TestSupervisorStrategy(t *testing.T) {
 		assert.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		assert.True(t, child.IsRunning())
@@ -946,7 +946,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the directive
 		restart := NewRestartDirective()
@@ -967,7 +967,7 @@ func TestSupervisorStrategy(t *testing.T) {
 		require.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		require.True(t, child.IsRunning())
@@ -994,7 +994,7 @@ func TestSupervisorStrategy(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		subscriber, err := actorSystem.Subscribe()
 		require.NoError(t, err)
@@ -1009,7 +1009,7 @@ func TestSupervisorStrategy(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// just for the sake of the test we remove the default directive
 		child.supervisorStrategies = newStrategiesMap()
@@ -1019,7 +1019,7 @@ func TestSupervisorStrategy(t *testing.T) {
 		require.NoError(t, Tell(ctx, child, new(testpb.TestPanic)))
 
 		// wait for the child to properly shutdown
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the actor state
 		require.False(t, child.IsRunning())
@@ -1048,7 +1048,7 @@ func TestSupervisorStrategy(t *testing.T) {
 		// restart the actor
 		require.NoError(t, child.Restart(ctx))
 		// wait for  a while
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, child.IsRunning())
 		require.False(t, child.IsSuspended())
 		require.Len(t, parent.Children(), 1)
@@ -1076,7 +1076,7 @@ func TestMessaging(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid1, err := actorSystem.Spawn(ctx, "Exchange1", &exchanger{})
 		require.NoError(t, err)
@@ -1086,7 +1086,7 @@ func TestMessaging(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = pid1.Tell(ctx, pid2, new(testpb.TestSend))
 		require.NoError(t, err)
@@ -1099,19 +1099,19 @@ func TestMessaging(t *testing.T) {
 		assert.True(t, proto.Equal(expected, reply))
 
 		// wait a while because exchange is ongoing
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = Tell(ctx, pid1, new(testpb.TestBye))
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.False(t, pid1.IsRunning())
 		assert.True(t, pid2.IsRunning())
 
 		err = Tell(ctx, pid2, new(testpb.TestBye))
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.False(t, pid2.IsRunning())
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
@@ -1130,7 +1130,7 @@ func TestMessaging(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor1 := &exchanger{}
@@ -1169,7 +1169,7 @@ func TestMessaging(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor1 := &exchanger{}
@@ -1182,7 +1182,7 @@ func TestMessaging(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.NoError(t, pid2.Shutdown(ctx))
 
@@ -1193,11 +1193,11 @@ func TestMessaging(t *testing.T) {
 		require.Nil(t, reply)
 
 		// wait a while because exchange is ongoing
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = Tell(ctx, pid1, new(testpb.TestBye))
 		require.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
@@ -1217,7 +1217,7 @@ func TestMessaging(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor1 := &exchanger{}
@@ -1230,7 +1230,7 @@ func TestMessaging(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.NoError(t, pid2.Shutdown(ctx))
 
@@ -1240,7 +1240,7 @@ func TestMessaging(t *testing.T) {
 		require.EqualError(t, err, ErrDead.Error())
 
 		// wait a while because exchange is ongoing
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = Tell(ctx, pid1, new(testpb.TestBye))
 		require.NoError(t, err)
@@ -1262,7 +1262,7 @@ func TestMessaging(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor1 := &exchanger{}
@@ -1286,16 +1286,16 @@ func TestMessaging(t *testing.T) {
 		require.Nil(t, reply)
 
 		// wait a while because exchange is ongoing
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = Tell(ctx, pid1, new(testpb.TestBye))
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.False(t, pid1.IsRunning())
 		assert.True(t, pid2.IsRunning())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid2.Shutdown(ctx))
 		assert.False(t, pid2.IsRunning())
 		assert.NoError(t, actorSystem.Stop(ctx))
@@ -1360,7 +1360,7 @@ func TestRemoting(t *testing.T) {
 		require.NoError(t, err)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(func() {
 			err = sys.Stop(ctx)
@@ -1420,7 +1420,7 @@ func TestRemoting(t *testing.T) {
 		assert.EqualError(t, err, ErrRemotingDisabled.Error())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(func() {
 			err = sys.Stop(ctx)
@@ -1444,7 +1444,7 @@ func TestActorHandle(t *testing.T) {
 
 	require.NoError(t, actorSystem.Start(ctx))
 
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 
 	// create the actor ref
 	pid, err := actorSystem.Spawn(ctx, "Exchanger", &exchanger{})
@@ -1459,7 +1459,7 @@ func TestActorHandle(t *testing.T) {
 	// stop the actor
 	err = pid.Shutdown(ctx)
 	assert.NoError(t, err)
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 	assert.NoError(t, actorSystem.Stop(ctx))
 }
 func TestPIDActorSystem(t *testing.T) {
@@ -1478,7 +1478,7 @@ func TestPIDActorSystem(t *testing.T) {
 
 	require.NoError(t, actorSystem.Start(ctx))
 
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 
 	// create the actor ref
 	pid, err := actorSystem.Spawn(ctx, "Exchanger", &exchanger{})
@@ -1490,7 +1490,7 @@ func TestPIDActorSystem(t *testing.T) {
 	// stop the actor
 	err = pid.Shutdown(ctx)
 	require.NoError(t, err)
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 	assert.NoError(t, actorSystem.Stop(ctx))
 }
 func TestSpawnChild(t *testing.T) {
@@ -1509,21 +1509,21 @@ func TestSpawnChild(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 		require.NoError(t, err)
 		assert.NotNil(t, parent)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the child actor
 		child, err := parent.SpawnChild(ctx, "SpawnChild", newMockSupervisedActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.Len(t, parent.Children(), 1)
 		metric := parent.Metric(ctx)
@@ -1532,7 +1532,7 @@ func TestSpawnChild(t *testing.T) {
 		// stop the child actor
 		require.NoError(t, child.Shutdown(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.False(t, child.IsRunning())
 		require.Empty(t, parent.Children())
 
@@ -1541,13 +1541,13 @@ func TestSpawnChild(t *testing.T) {
 		assert.NoError(t, err)
 		assert.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.Len(t, parent.Children(), 1)
 		//stop the actor
 		err = parent.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With empty children when actor is not running or does not exist", func(t *testing.T) {
@@ -1566,34 +1566,34 @@ func TestSpawnChild(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 		require.NoError(t, err)
 		assert.NotNil(t, parent)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the child actor
 		child, err := parent.SpawnChild(ctx, "SpawnChild", newMockSupervisedActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.Len(t, parent.Children(), 1)
 
 		// stop the child actor
 		require.NoError(t, child.Shutdown(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.False(t, child.IsRunning())
 		require.Empty(t, parent.Children())
 
 		// stop the parent actor
 		require.NoError(t, parent.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.Empty(t, parent.Children())
 		assert.NoError(t, actorSystem.Stop(ctx))
@@ -1614,7 +1614,7 @@ func TestSpawnChild(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
@@ -1626,7 +1626,7 @@ func TestSpawnChild(t *testing.T) {
 		child, err := parent.SpawnChild(ctx, "child", newMockSupervisedActor(), WithMailbox(NewBoundedMailbox(20)))
 		assert.NoError(t, err)
 		assert.NotNil(t, child)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.Len(t, parent.Children(), 1)
 
 		assert.NoError(t, Tell(ctx, child, new(testpb.TestSend)))
@@ -1634,7 +1634,7 @@ func TestSpawnChild(t *testing.T) {
 		//stop the actor
 		err = parent.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With restarting child actor when not shutdown", func(t *testing.T) {
@@ -1653,7 +1653,7 @@ func TestSpawnChild(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
@@ -1668,19 +1668,19 @@ func TestSpawnChild(t *testing.T) {
 
 		assert.Len(t, parent.Children(), 1)
 
-		lib.Pause(100 * time.Millisecond)
+		util.Pause(100 * time.Millisecond)
 		// create the child actor
 		child, err = parent.SpawnChild(ctx, "SpawnChild", newMockSupervisedActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, child)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.Len(t, parent.Children(), 1)
 		//stop the actor
 		err = parent.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With parent not ready", func(t *testing.T) {
@@ -1699,14 +1699,14 @@ func TestSpawnChild(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 		require.NoError(t, err)
 		assert.NotNil(t, parent)
 
-		lib.Pause(100 * time.Millisecond)
+		util.Pause(100 * time.Millisecond)
 		//stop the actor
 		err = parent.Shutdown(ctx)
 		assert.NoError(t, err)
@@ -1734,7 +1734,7 @@ func TestSpawnChild(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
@@ -1751,7 +1751,7 @@ func TestSpawnChild(t *testing.T) {
 		//stop the actor
 		err = parent.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With child created event published", func(t *testing.T) {
@@ -1770,7 +1770,7 @@ func TestSpawnChild(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// add a subscriber
 		subsriber, err := actorSystem.Subscribe()
@@ -1789,7 +1789,7 @@ func TestSpawnChild(t *testing.T) {
 
 		assert.Len(t, parent.Children(), 1)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var events []*goaktpb.ActorChildCreated
 		for message := range subsriber.Iterator() {
@@ -1810,7 +1810,7 @@ func TestSpawnChild(t *testing.T) {
 		//stop the actor
 		err = parent.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 }
@@ -1830,7 +1830,7 @@ func TestPoisonPill(t *testing.T) {
 
 	require.NoError(t, actorSystem.Start(ctx))
 
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 
 	// create the actor ref
 	pid, err := actorSystem.Spawn(ctx, "PoisonPill", newMockActor())
@@ -1844,9 +1844,9 @@ func TestPoisonPill(t *testing.T) {
 	assert.NoError(t, err)
 
 	// wait for the graceful shutdown
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 	assert.False(t, pid.IsRunning())
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 	assert.NoError(t, actorSystem.Stop(ctx))
 }
 func TestRemoteLookup(t *testing.T) {
@@ -2017,14 +2017,14 @@ func TestFailedPostStop(t *testing.T) {
 
 	require.NoError(t, actorSystem.Start(ctx))
 
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 	pid, err := actorSystem.Spawn(ctx, "PostStop", &mockPostStopActor{})
 
 	require.NoError(t, err)
 	assert.NotNil(t, pid)
 
 	assert.Error(t, pid.Shutdown(ctx))
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 	assert.NoError(t, actorSystem.Stop(ctx))
 }
 func TestShutdown(t *testing.T) {
@@ -2045,7 +2045,7 @@ func TestShutdown(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "test", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -2060,7 +2060,7 @@ func TestShutdown(t *testing.T) {
 
 		//stop the
 		assert.Error(t, parent.Shutdown(ctx))
-		lib.Pause(2 * time.Second)
+		util.Pause(2 * time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 }
@@ -2081,7 +2081,7 @@ func TestBatchTell(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := newMockActor()
@@ -2092,13 +2092,13 @@ func TestBatchTell(t *testing.T) {
 		// batch tell
 		require.NoError(t, pid.BatchTell(ctx, pid, new(testpb.TestSend), new(testpb.TestSend)))
 		// wait for the asynchronous processing to complete
-		lib.Pause(100 * time.Millisecond)
+		util.Pause(100 * time.Millisecond)
 		assert.EqualValues(t, 2, pid.ProcessedCount()-1)
 		// shutdown the actor when
 		// wait a while because exchange is ongoing
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With a Tell behavior", func(t *testing.T) {
@@ -2117,7 +2117,7 @@ func TestBatchTell(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := newMockActor()
@@ -2128,13 +2128,13 @@ func TestBatchTell(t *testing.T) {
 		// batch tell
 		require.NoError(t, pid.BatchTell(ctx, pid, new(testpb.TestSend)))
 		// wait for the asynchronous processing to complete
-		lib.Pause(100 * time.Millisecond)
+		util.Pause(100 * time.Millisecond)
 		assert.EqualValues(t, 1, pid.ProcessedCount()-1)
 		// shutdown the actor when
 		// wait a while because exchange is ongoing
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With a dead actor", func(t *testing.T) {
@@ -2153,17 +2153,17 @@ func TestBatchTell(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// create the actor path
 		actor := newMockActor()
 		pid, err := actorSystem.Spawn(ctx, "test", actor)
 		require.NoError(t, err)
 		require.NotNil(t, pid)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid.Shutdown(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// batch tell
 		require.Error(t, pid.BatchTell(ctx, pid, new(testpb.TestSend)))
 		assert.NoError(t, actorSystem.Stop(ctx))
@@ -2186,7 +2186,7 @@ func TestBatchAsk(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// create the actor path
 		actor := &exchanger{}
 
@@ -2205,9 +2205,9 @@ func TestBatchAsk(t *testing.T) {
 		}
 
 		// wait a while because exchange is ongoing
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With a dead actor", func(t *testing.T) {
@@ -2226,7 +2226,7 @@ func TestBatchAsk(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// create the actor path
 		actor := &exchanger{}
 
@@ -2234,10 +2234,10 @@ func TestBatchAsk(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid.Shutdown(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// batch ask
 		responses, err := pid.BatchAsk(ctx, pid, []proto.Message{new(testpb.TestReply), new(testpb.TestReply)}, replyTimeout)
@@ -2261,7 +2261,7 @@ func TestBatchAsk(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := newMockActor()
@@ -2276,9 +2276,9 @@ func TestBatchAsk(t *testing.T) {
 		require.Empty(t, responses)
 
 		// wait a while because exchange is ongoing
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 }
@@ -2820,7 +2820,7 @@ func TestName(t *testing.T) {
 
 	require.NoError(t, actorSystem.Start(ctx))
 
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 
 	// create the actor ref
 	pid, err := actorSystem.Spawn(ctx, "Exchange1", &exchanger{})
@@ -2834,7 +2834,7 @@ func TestName(t *testing.T) {
 	// stop the actor
 	err = pid.Shutdown(ctx)
 	assert.NoError(t, err)
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 	assert.NoError(t, actorSystem.Stop(ctx))
 }
 func TestPipeTo(t *testing.T) {
@@ -2855,7 +2855,7 @@ func TestPipeTo(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		pid1, err := actorSystem.Spawn(ctx, "Exchange1", &exchanger{})
@@ -2867,7 +2867,7 @@ func TestPipeTo(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 		// zero message received by both actors
 		require.Zero(t, pid1.ProcessedCount()-1)
 		require.Zero(t, pid2.ProcessedCount()-1)
@@ -2884,7 +2884,7 @@ func TestPipeTo(t *testing.T) {
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 			wg.Done()
 		}()
 
@@ -2892,15 +2892,15 @@ func TestPipeTo(t *testing.T) {
 		task <- new(testspb.TaskComplete)
 		wg.Wait()
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.EqualValues(t, 3, pid1.ProcessedCount()-1)
 		require.EqualValues(t, 1, pid2.ProcessedCount()-1)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, pid2.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With is a dead actor: case 1", func(t *testing.T) {
@@ -2919,7 +2919,7 @@ func TestPipeTo(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		pid1, err := actorSystem.Spawn(ctx, "Exchange1", &exchanger{})
@@ -2932,7 +2932,7 @@ func TestPipeTo(t *testing.T) {
 		require.NotNil(t, pid2)
 
 		// shutdown the actor after one second of liveness
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid2.Shutdown(ctx))
 
 		task := make(chan proto.Message)
@@ -2940,9 +2940,9 @@ func TestPipeTo(t *testing.T) {
 		require.Error(t, err)
 		assert.EqualError(t, err, ErrDead.Error())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With is a dead actor: case 2", func(t *testing.T) {
@@ -2956,7 +2956,7 @@ func TestPipeTo(t *testing.T) {
 			WithPassivationDisabled())
 
 		require.NoError(t, actorSystem.Start(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		pid1, err := actorSystem.Spawn(ctx, "Exchange1", &exchanger{})
@@ -2968,7 +2968,7 @@ func TestPipeTo(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// zero message received by both actors
 		require.Zero(t, pid1.ProcessedCount()-1)
@@ -2987,7 +2987,7 @@ func TestPipeTo(t *testing.T) {
 
 			task <- new(testspb.TaskComplete)
 
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 
 			close(task)
 			wg.Done()
@@ -2998,7 +2998,7 @@ func TestPipeTo(t *testing.T) {
 		require.NotZero(t, pid2.ProcessedCount())
 
 		_ = Tell(ctx, pid2, new(testpb.TestBye))
-		lib.Pause(2 * time.Second)
+		util.Pause(2 * time.Second)
 		require.Zero(t, pid2.ProcessedCount())
 
 		assert.NoError(t, actorSystem.Stop(ctx))
@@ -3019,7 +3019,7 @@ func TestPipeTo(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		pid1, err := actorSystem.Spawn(ctx, "Exchange1", &exchanger{})
@@ -3031,7 +3031,7 @@ func TestPipeTo(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// zero message received by both actors
 		require.Zero(t, pid1.ProcessedCount()-1)
@@ -3041,10 +3041,10 @@ func TestPipeTo(t *testing.T) {
 		require.Error(t, err)
 		assert.EqualError(t, err, ErrUndefinedTask.Error())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, pid2.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With failed task", func(t *testing.T) {
@@ -3064,7 +3064,7 @@ func TestPipeTo(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		pid1, err := actorSystem.Spawn(ctx, "Exchange1", &exchanger{})
@@ -3076,7 +3076,7 @@ func TestPipeTo(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// zero message received by both actors
 		require.Zero(t, pid1.ProcessedCount()-1)
@@ -3096,24 +3096,24 @@ func TestPipeTo(t *testing.T) {
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 			wg.Done()
 		}()
 
 		cancel()
 		wg.Wait()
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.EqualValues(t, 3, pid1.ProcessedCount()-1)
 
 		// no message piped to the actor
 		require.Zero(t, pid2.ProcessedCount()-1)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, pid2.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 }
@@ -3126,20 +3126,20 @@ func TestSendAsync(t *testing.T) {
 		err := actorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		receivingActor := newMockActor()
 		receiver, err := actorSystem.Spawn(ctx, "receiver", receivingActor)
 		assert.NoError(t, err)
 		assert.NotNil(t, receiver)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		sender, err := actorSystem.Spawn(ctx, "sender", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, sender)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = sender.SendAsync(ctx, receiver.Name(), new(testpb.TestSend))
 		require.NoError(t, err)
@@ -3158,20 +3158,20 @@ func TestSendAsync(t *testing.T) {
 		err := actorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		receivingActor := newMockActor()
 		receiver, err := actorSystem.Spawn(ctx, "receiver", receivingActor)
 		assert.NoError(t, err)
 		assert.NotNil(t, receiver)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		sender, err := actorSystem.Spawn(ctx, "sender", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, sender)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.NoError(t, actorSystem.Kill(ctx, sender.Name()))
 
@@ -3203,13 +3203,13 @@ func TestSendAsync(t *testing.T) {
 		receiver, err := node1.Spawn(ctx, "receiver", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, receiver)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		sender, err := node2.Spawn(ctx, "sender", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, sender)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = sender.SendAsync(ctx, receiver.Name(), new(testpb.TestSend))
 		require.NoError(t, err)
@@ -3242,7 +3242,7 @@ func TestSendAsync(t *testing.T) {
 		assert.NoError(t, err)
 		assert.NotNil(t, sender)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = sender.SendAsync(ctx, "receiver", new(testpb.TestSend))
 		require.Error(t, err)
@@ -3266,19 +3266,19 @@ func TestSendSync(t *testing.T) {
 		err := actorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		receiver, err := actorSystem.Spawn(ctx, "receiver", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, receiver)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		sender, err := actorSystem.Spawn(ctx, "sender", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, sender)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		response, err := sender.SendSync(ctx, receiver.Name(), new(testpb.TestReply), replyTimeout)
 		require.NoError(t, err)
@@ -3298,19 +3298,19 @@ func TestSendSync(t *testing.T) {
 		err := actorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		receiver, err := actorSystem.Spawn(ctx, "receiver", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, receiver)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		sender, err := actorSystem.Spawn(ctx, "sender", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, sender)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		err = actorSystem.Kill(ctx, sender.Name())
 		require.NoError(t, err)
 
@@ -3343,13 +3343,13 @@ func TestSendSync(t *testing.T) {
 		receiver, err := node1.Spawn(ctx, "receiver", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, receiver)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		sender, err := node2.Spawn(ctx, "sender", newMockActor())
 		assert.NoError(t, err)
 		assert.NotNil(t, sender)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		response, err := sender.SendSync(ctx, receiver.Name(), new(testpb.TestReply), replyTimeout)
 		require.NoError(t, err)
@@ -3385,7 +3385,7 @@ func TestSendSync(t *testing.T) {
 		assert.NoError(t, err)
 		assert.NotNil(t, sender)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		response, err := sender.SendSync(ctx, "receiver", new(testpb.TestReply), time.Minute)
 		require.Nil(t, response)
@@ -3418,7 +3418,7 @@ func TestStopChild(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "parent", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -3435,7 +3435,7 @@ func TestStopChild(t *testing.T) {
 		//stop the actor
 		err = parent.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 }
diff --git a/actors/rebalancer_test.go b/actors/rebalancer_test.go
index acd041a..7e16817 100644
--- a/actors/rebalancer_test.go
+++ b/actors/rebalancer_test.go
@@ -33,8 +33,8 @@ import (
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
 
-	"github.com/tochemey/goakt/v2/internal/lib"
 	"github.com/tochemey/goakt/v2/internal/testutil"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 )
 
@@ -68,7 +68,7 @@ func TestRebalancing(t *testing.T) {
 			require.NotNil(t, pid)
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		for j := 1; j <= 4; j++ {
 			actorName := fmt.Sprintf("Node2-Actor-%d", j)
@@ -77,7 +77,7 @@ func TestRebalancing(t *testing.T) {
 			require.NotNil(t, pid)
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		for j := 1; j <= 4; j++ {
 			actorName := fmt.Sprintf("Node3-Actor-%d", j)
@@ -86,14 +86,14 @@ func TestRebalancing(t *testing.T) {
 			require.NotNil(t, pid)
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// take down node2
 		require.NoError(t, node2.Stop(ctx))
 		require.NoError(t, sd2.Close())
 
 		// Wait for cluster rebalancing
-		lib.Pause(time.Minute)
+		util.Pause(time.Minute)
 
 		sender, err := node1.LocalActor("Node1-Actor-1")
 		require.NoError(t, err)
@@ -144,7 +144,7 @@ func TestRebalancing(t *testing.T) {
 			require.NotNil(t, pid)
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		for j := 1; j <= 4; j++ {
 			actorName := fmt.Sprintf("Node2-Actor-%d", j)
@@ -153,7 +153,7 @@ func TestRebalancing(t *testing.T) {
 			require.NotNil(t, pid)
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		for j := 1; j <= 4; j++ {
 			actorName := fmt.Sprintf("Node3-Actor-%d", j)
@@ -162,14 +162,14 @@ func TestRebalancing(t *testing.T) {
 			require.NotNil(t, pid)
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// take down node2
 		require.NoError(t, node2.Stop(ctx))
 		require.NoError(t, sd2.Close())
 
 		// Wait for cluster rebalancing
-		lib.Pause(time.Minute)
+		util.Pause(time.Minute)
 
 		sender, err := node1.LocalActor("Node1-Actor-1")
 		require.NoError(t, err)
diff --git a/actors/receive_context_test.go b/actors/receive_context_test.go
index 0761267..466f470 100644
--- a/actors/receive_context_test.go
+++ b/actors/receive_context_test.go
@@ -37,7 +37,7 @@ import (
 
 	"github.com/tochemey/goakt/v2/address"
 	"github.com/tochemey/goakt/v2/goaktpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 	testspb "github.com/tochemey/goakt/v2/test/data/testpb"
@@ -57,7 +57,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid, err := actorSystem.Spawn(ctx, "User", actor)
 		require.NoError(t, err)
@@ -103,7 +103,7 @@ func TestReceiveContext(t *testing.T) {
 		err = Tell(ctx, pid, new(testpb.TestBye))
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.False(t, pid.IsRunning())
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
@@ -118,7 +118,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -143,7 +143,7 @@ func TestReceiveContext(t *testing.T) {
 		context.Tell(pid2, new(testpb.TestSend))
 		require.NoError(t, context.getError())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With failed Tell", func(t *testing.T) {
@@ -157,7 +157,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -180,12 +180,12 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid2)
 
 		// wait a while and shutdown actor2
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid2.Shutdown(ctx))
 		context.Tell(pid2, new(testpb.TestSend))
 		require.Error(t, context.getError())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With successful Ask command", func(t *testing.T) {
@@ -198,7 +198,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -225,7 +225,7 @@ func TestReceiveContext(t *testing.T) {
 		expected := new(testpb.Reply)
 		assert.True(t, proto.Equal(expected, reply))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With failed Ask", func(t *testing.T) {
@@ -238,7 +238,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -261,13 +261,13 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid2)
 
 		// wait a while and shutdown actor2
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid2.Shutdown(ctx))
 
 		context.Ask(pid2, new(testpb.TestReply), time.Minute)
 		require.Error(t, context.getError())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With successful RemoteAsk", func(t *testing.T) {
@@ -322,7 +322,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, reply)
 		require.True(t, reply.MessageIs(new(testpb.Reply)))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -382,7 +382,7 @@ func TestReceiveContext(t *testing.T) {
 			},
 		), new(testpb.TestReply), time.Minute)
 		require.Error(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -431,7 +431,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, sys2.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid1, err := sys2.Spawn(ctx, "Exchange1", actor1)
 		require.NoError(t, err)
@@ -450,7 +450,7 @@ func TestReceiveContext(t *testing.T) {
 		// send the message to t exchanger actor one using remote messaging
 		context.RemoteTell(address.From(addr1), new(testpb.TestRemoteSend))
 		require.NoError(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -493,7 +493,7 @@ func TestReceiveContext(t *testing.T) {
 		sys2, err := NewActorSystem("sys", WithLogger(logger), WithRemoting(host, int32(ports[0])))
 		require.NoError(t, err)
 		require.NoError(t, sys2.Start(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid1, err := sys2.Spawn(ctx, "Exchange1", actor1)
 		require.NoError(t, err)
@@ -517,7 +517,7 @@ func TestReceiveContext(t *testing.T) {
 			},
 		), new(testpb.TestRemoteSend))
 		require.Error(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -560,7 +560,7 @@ func TestReceiveContext(t *testing.T) {
 		sys2, err := NewActorSystem("sys", WithLogger(logger), WithRemoting(host, int32(ports[0])))
 		require.NoError(t, err)
 		require.NoError(t, sys2.Start(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid1, err := sys2.Spawn(ctx, "Exchange1", actor1)
 		require.NoError(t, err)
@@ -576,7 +576,7 @@ func TestReceiveContext(t *testing.T) {
 
 		require.Nil(t, context.RemoteLookup(host, remotingPort, actorName2))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -619,7 +619,7 @@ func TestReceiveContext(t *testing.T) {
 		sys2, err := NewActorSystem("sys", WithLogger(logger), WithRemoting(host, int32(ports[0])))
 		require.NoError(t, err)
 		require.NoError(t, sys2.Start(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		pid1, err := sys2.Spawn(ctx, "Exchange1", actor1)
 		require.NoError(t, err)
@@ -637,7 +637,7 @@ func TestReceiveContext(t *testing.T) {
 		}
 		context.RemoteLookup(host, remotingPort, actorName2)
 		require.Error(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -657,7 +657,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -688,14 +688,14 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 		require.NoError(t, err)
 		assert.NotNil(t, parent)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create an instance of receive receiveCtx
 		receiveCtx := &ReceiveContext{
@@ -733,14 +733,14 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 		require.NoError(t, err)
 		assert.NotNil(t, parent)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.NoError(t, err)
 		assert.NotNil(t, parent)
@@ -772,7 +772,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
@@ -815,7 +815,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the parent actor
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
@@ -859,7 +859,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 
 		require.NoError(t, err)
@@ -882,7 +882,7 @@ func TestReceiveContext(t *testing.T) {
 		// stop the child actor
 		context.Stop(child)
 		require.NoError(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.Empty(t, context.Children())
 		t.Cleanup(
 			func() {
@@ -901,7 +901,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 
@@ -925,11 +925,11 @@ func TestReceiveContext(t *testing.T) {
 		// let us stop the child actor
 		require.NoError(t, child.Shutdown(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.Empty(t, context.Children())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.Empty(t, context.Children())
 		t.Cleanup(
 			func() {
@@ -948,7 +948,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 
@@ -963,7 +963,7 @@ func TestReceiveContext(t *testing.T) {
 			self:    parent,
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// stop the child actor
 		context.Stop(NoSender)
 		require.Error(t, context.getError())
@@ -984,7 +984,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 
@@ -1004,11 +1004,11 @@ func TestReceiveContext(t *testing.T) {
 		assert.NotNil(t, child)
 		assert.Len(t, context.Children(), 1)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		context.Shutdown()
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// stop the child actor
 		context.Stop(child)
@@ -1025,7 +1025,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 		require.NoError(t, err)
@@ -1072,7 +1072,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		parent, err := actorSystem.Spawn(ctx, "Parent", newMockSupervisorActor())
 
@@ -1098,7 +1098,7 @@ func TestReceiveContext(t *testing.T) {
 		// stop the child actor
 		context.Stop(child)
 		require.Error(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.Empty(t, context.Children())
 		t.Cleanup(
 			func() {
@@ -1117,7 +1117,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &mockPostStopActor{}
@@ -1148,7 +1148,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actorA
 		actorA := &exchanger{}
@@ -1178,7 +1178,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for the async call to properly complete
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, pidA.IsRunning())
 		require.True(t, pidB.IsRunning())
 		require.False(t, pidC.IsRunning())
@@ -1198,7 +1198,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a consumer
 		consumer, err := actorSystem.Subscribe()
@@ -1223,7 +1223,7 @@ func TestReceiveContext(t *testing.T) {
 		context.Unhandled()
 
 		// wait for messages to be published
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var items []*goaktpb.Deadletter
 		for message := range consumer.Iterator() {
@@ -1266,7 +1266,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a consumer
 		consumer, err := actorSystem.Subscribe()
@@ -1295,7 +1295,7 @@ func TestReceiveContext(t *testing.T) {
 		context.Unhandled()
 
 		// wait for messages to be published
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var items []*goaktpb.Deadletter
 		for message := range consumer.Iterator() {
@@ -1338,7 +1338,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a consumer
 		consumer, err := actorSystem.Subscribe()
@@ -1363,7 +1363,7 @@ func TestReceiveContext(t *testing.T) {
 		context.Unhandled()
 
 		// wait for messages to be published
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var items []*goaktpb.Deadletter
 		for message := range consumer.Iterator() {
@@ -1399,7 +1399,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -1424,7 +1424,7 @@ func TestReceiveContext(t *testing.T) {
 		context.BatchTell(pid2, new(testpb.TestSend), new(testpb.TestSend))
 		require.NoError(t, context.getError())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, pid2.Shutdown(ctx))
 		assert.NoError(t, actorSystem.Stop(ctx))
@@ -1440,7 +1440,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -1466,7 +1466,7 @@ func TestReceiveContext(t *testing.T) {
 		context.BatchTell(pid2, new(testpb.TestSend))
 		require.NoError(t, context.getError())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, pid2.Shutdown(ctx))
 		assert.NoError(t, actorSystem.Stop(ctx))
@@ -1482,7 +1482,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -1505,13 +1505,13 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid2)
 
 		// wait a while and shutdown actor2
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid2.Shutdown(ctx))
 
 		context.BatchTell(pid2, new(testpb.TestSend), new(testpb.TestSend))
 		require.Error(t, context.getError())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
@@ -1526,7 +1526,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -1556,7 +1556,7 @@ func TestReceiveContext(t *testing.T) {
 			assert.True(t, proto.Equal(expected, reply))
 		}
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, pid2.Shutdown(ctx))
 		assert.NoError(t, actorSystem.Stop(ctx))
@@ -1572,7 +1572,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -1596,13 +1596,13 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid2)
 
 		// wait a while and shutdown actor2
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid2.Shutdown(ctx))
 
 		context.BatchAsk(pid2, []proto.Message{new(testpb.TestReply), new(testpb.TestReply)}, time.Minute)
 		require.Error(t, context.getError())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
@@ -1651,10 +1651,10 @@ func TestReceiveContext(t *testing.T) {
 		context.RemoteBatchTell(address.From(testerAddr), messages)
 		require.NoError(t, context.getError())
 		// wait for processing to complete on the actor side
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 		require.EqualValues(t, 3, testerRef.ProcessedCount()-1)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -1708,7 +1708,7 @@ func TestReceiveContext(t *testing.T) {
 		replies := context.RemoteBatchAsk(address.From(testerAddr), messages, time.Minute)
 		require.NoError(t, context.getError())
 		require.Len(t, replies, 3)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -1825,7 +1825,7 @@ func TestReceiveContext(t *testing.T) {
 			},
 		), []proto.Message{new(testpb.TestRemoteSend)})
 		require.Error(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -1884,7 +1884,7 @@ func TestReceiveContext(t *testing.T) {
 		require.Error(t, err)
 		assert.EqualError(t, err, ErrRemotingDisabled.Error())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -1943,7 +1943,7 @@ func TestReceiveContext(t *testing.T) {
 			},
 		), []proto.Message{new(testpb.TestReply)}, time.Minute)
 		require.Error(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -1997,7 +1997,7 @@ func TestReceiveContext(t *testing.T) {
 
 		context.RemoteReSpawn(host, remotingPort, actorName2)
 		require.NoError(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -2048,7 +2048,7 @@ func TestReceiveContext(t *testing.T) {
 
 		context.RemoteReSpawn(host, remotingPort, actorName2)
 		require.Error(t, context.getError())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		t.Cleanup(
 			func() {
@@ -2069,7 +2069,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -2084,7 +2084,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// zero message received by both actors
 		require.Zero(t, pid1.ProcessedCount()-1)
@@ -2109,7 +2109,7 @@ func TestReceiveContext(t *testing.T) {
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
 			_, _ = Ask(ctx, pid1, new(testpb.TestReply), askTimeout)
-			lib.Pause(time.Second)
+			util.Pause(time.Second)
 			wg.Done()
 		}()
 
@@ -2120,7 +2120,7 @@ func TestReceiveContext(t *testing.T) {
 		require.EqualValues(t, 3, pid1.ProcessedCount()-1)
 		require.EqualValues(t, 1, pid2.ProcessedCount()-1)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid1.Shutdown(ctx))
 		assert.NoError(t, pid2.Shutdown(ctx))
 		assert.NoError(t, actorSystem.Stop(ctx))
@@ -2136,7 +2136,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -2152,7 +2152,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, pid2)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// zero message received by both actors
 		require.Zero(t, pid1.ProcessedCount()-1)
@@ -2180,7 +2180,7 @@ func TestReceiveContext(t *testing.T) {
 		err := actorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -2219,7 +2219,7 @@ func TestReceiveContext(t *testing.T) {
 		err := actorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -2242,7 +2242,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid2)
 
 		// wait a while and shutdown actor2
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid2.Shutdown(ctx))
 		context.SendAsync(pid2.Name(), new(testpb.TestSend))
 		require.Error(t, context.getError())
@@ -2261,7 +2261,7 @@ func TestReceiveContext(t *testing.T) {
 		err := actorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -2302,7 +2302,7 @@ func TestReceiveContext(t *testing.T) {
 		err := actorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create actor1
 		actor1 := &exchanger{}
@@ -2325,7 +2325,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid2)
 
 		// wait a while and shutdown actor2
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, pid2.Shutdown(ctx))
 
 		context.SendSync(pid2.Name(), new(testpb.TestReply), time.Minute)
@@ -2348,7 +2348,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := &mockStashActor{}
@@ -2357,7 +2357,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid)
 
 		// wait for the actor to properly start
-		lib.Pause(5 * time.Millisecond)
+		util.Pause(5 * time.Millisecond)
 
 		// create a receiveContext
 		receiveContext := &ReceiveContext{
@@ -2386,7 +2386,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := &mockStashActor{}
@@ -2396,7 +2396,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid)
 
 		// wait for the actor to properly start
-		lib.Pause(5 * time.Millisecond)
+		util.Pause(5 * time.Millisecond)
 
 		// create a receiveContext
 		receiveContext := &ReceiveContext{
@@ -2425,7 +2425,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := &mockStashActor{}
@@ -2435,7 +2435,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NotNil(t, pid)
 
 		// wait for the actor to properly start
-		lib.Pause(5 * time.Millisecond)
+		util.Pause(5 * time.Millisecond)
 
 		// create a receive context
 		receiveContext := &ReceiveContext{
@@ -2498,7 +2498,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for the async call to properly complete
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, pidA.IsRunning())
 		require.True(t, pidB.IsRunning())
 		require.False(t, pidC.IsRunning())
@@ -2613,7 +2613,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for the async call to properly complete
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, pidA.IsRunning())
 		require.True(t, pidB.IsRunning())
 		require.False(t, pidC.IsRunning())
@@ -2673,7 +2673,7 @@ func TestReceiveContext(t *testing.T) {
 		require.NoError(t, context.getError())
 
 		// wait for the async call to properly complete
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.True(t, pidA.IsRunning())
 		require.True(t, pidB.IsRunning())
@@ -2735,7 +2735,7 @@ func TestReceiveContext(t *testing.T) {
 		require.Error(t, context.getError())
 
 		// wait for the async call to properly complete
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// let us shutdown the rest
 		require.NoError(t, actorSystem.Stop(ctx))
diff --git a/actors/remoting_test.go b/actors/remoting_test.go
index e7038f9..6a0dddf 100644
--- a/actors/remoting_test.go
+++ b/actors/remoting_test.go
@@ -37,8 +37,8 @@ import (
 
 	"github.com/tochemey/goakt/v2/address"
 	"github.com/tochemey/goakt/v2/goaktpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
 	"github.com/tochemey/goakt/v2/internal/testutil"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 )
@@ -68,7 +68,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -92,7 +92,7 @@ func TestRemoteTell(t *testing.T) {
 		}
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -122,7 +122,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -141,7 +141,7 @@ func TestRemoteTell(t *testing.T) {
 		require.Error(t, err)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -171,7 +171,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -198,7 +198,7 @@ func TestRemoteTell(t *testing.T) {
 		require.Error(t, err)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -228,7 +228,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -255,7 +255,7 @@ func TestRemoteTell(t *testing.T) {
 		require.EqualError(t, err, "failed_precondition: remoting is not enabled")
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -285,7 +285,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -311,11 +311,11 @@ func TestRemoteTell(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for processing to complete on the actor side
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 		require.EqualValues(t, 10, actorRef.ProcessedCount()-1)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -345,7 +345,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -372,7 +372,7 @@ func TestRemoteTell(t *testing.T) {
 		require.Error(t, err)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -402,7 +402,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -428,7 +428,7 @@ func TestRemoteTell(t *testing.T) {
 		require.EqualError(t, err, "failed_precondition: remoting is not enabled")
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -458,7 +458,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -474,7 +474,7 @@ func TestRemoteTell(t *testing.T) {
 
 		// stop the actor when wait for cleanup to take place
 		require.NoError(t, actorRef.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		from := address.NoSender()
 		// create a message to send to the test actor
@@ -486,7 +486,7 @@ func TestRemoteTell(t *testing.T) {
 		require.Contains(t, err.Error(), "not found")
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -516,7 +516,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -532,7 +532,7 @@ func TestRemoteTell(t *testing.T) {
 
 		// stop the actor when wait for cleanup to take place
 		require.NoError(t, actorRef.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		from := address.NoSender()
 		// create a message to send to the test actor
@@ -544,7 +544,7 @@ func TestRemoteTell(t *testing.T) {
 		require.Contains(t, err.Error(), "not found")
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = sys.Stop(ctx)
 		assert.NoError(t, err)
@@ -582,7 +582,7 @@ func TestRemoteTell(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -606,7 +606,7 @@ func TestRemoteTell(t *testing.T) {
 		}
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -639,7 +639,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -671,7 +671,7 @@ func TestRemoteAsk(t *testing.T) {
 		assert.True(t, proto.Equal(expected, actual))
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -701,7 +701,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -723,7 +723,7 @@ func TestRemoteAsk(t *testing.T) {
 		require.Nil(t, reply)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = sys.Stop(ctx)
 		assert.NoError(t, err)
@@ -752,7 +752,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -780,7 +780,7 @@ func TestRemoteAsk(t *testing.T) {
 		require.Nil(t, reply)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		remoting.Close()
 		t.Cleanup(
 			func() {
@@ -812,7 +812,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -841,7 +841,7 @@ func TestRemoteAsk(t *testing.T) {
 		require.Nil(t, reply)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = sys.Stop(ctx)
 		assert.NoError(t, err)
@@ -870,7 +870,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -903,7 +903,7 @@ func TestRemoteAsk(t *testing.T) {
 		assert.True(t, proto.Equal(expected, actual))
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -933,7 +933,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -962,7 +962,7 @@ func TestRemoteAsk(t *testing.T) {
 
 		remoting.Close()
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		t.Cleanup(
 			func() {
 				assert.NoError(t, sys.Stop(ctx))
@@ -993,7 +993,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -1022,7 +1022,7 @@ func TestRemoteAsk(t *testing.T) {
 		require.Nil(t, reply)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		remoting.Close()
 		t.Cleanup(
 			func() {
@@ -1055,7 +1055,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -1072,7 +1072,7 @@ func TestRemoteAsk(t *testing.T) {
 
 		// stop the actor when wait for cleanup to take place
 		require.NoError(t, actorRef.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a message to send to the test actor
 		message := new(testpb.TestReply)
@@ -1084,7 +1084,7 @@ func TestRemoteAsk(t *testing.T) {
 		require.Nil(t, reply)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -1115,7 +1115,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -1131,7 +1131,7 @@ func TestRemoteAsk(t *testing.T) {
 
 		// stop the actor when wait for cleanup to take place
 		require.NoError(t, actorRef.Shutdown(ctx))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		from := address.NoSender()
 		// create a message to send to the test actor
@@ -1144,7 +1144,7 @@ func TestRemoteAsk(t *testing.T) {
 		require.Nil(t, reply)
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = sys.Stop(ctx)
 		assert.NoError(t, err)
@@ -1181,7 +1181,7 @@ func TestRemoteAsk(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -1213,7 +1213,7 @@ func TestRemoteAsk(t *testing.T) {
 		assert.True(t, proto.Equal(expected, actual))
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -1246,7 +1246,7 @@ func TestRemotingLookup(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// let us disable remoting
 		actorsSystem := sys.(*actorSystem)
@@ -1299,7 +1299,7 @@ func TestRemotingLookup(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// let us disable remoting
 		actorsSystem := sys.(*actorSystem)
@@ -1346,7 +1346,7 @@ func TestRemotingReSpawn(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// let us disable remoting
 		actorsSystem := sys.(*actorSystem)
@@ -1390,7 +1390,7 @@ func TestRemotingReSpawn(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -1410,7 +1410,7 @@ func TestRemotingReSpawn(t *testing.T) {
 		assert.EqualValues(t, 1, pid.restartCount.Load())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -1448,7 +1448,7 @@ func TestRemotingReSpawn(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// let us disable remoting
 		actorsSystem := sys.(*actorSystem)
@@ -1495,7 +1495,7 @@ func TestRemotingStop(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// let us disable remoting
 		actorsSystem := sys.(*actorSystem)
@@ -1540,7 +1540,7 @@ func TestRemotingStop(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -1559,12 +1559,12 @@ func TestRemotingStop(t *testing.T) {
 		err = remoting.RemoteStop(ctx, sys.Host(), int(sys.Port()), actorName)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		assert.Empty(t, sys.Actors())
 
 		// stop the actor after some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		remoting.Close()
 		err = sys.Stop(ctx)
@@ -1604,7 +1604,7 @@ func TestRemotingStop(t *testing.T) {
 		err = sys.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// let us disable remoting
 		actorsSystem := sys.(*actorSystem)
diff --git a/actors/router_test.go b/actors/router_test.go
index a997af6..fe1d2cc 100644
--- a/actors/router_test.go
+++ b/actors/router_test.go
@@ -36,7 +36,7 @@ import (
 	"google.golang.org/protobuf/types/known/anypb"
 
 	"github.com/tochemey/goakt/v2/goaktpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 )
@@ -55,7 +55,7 @@ func TestRouter(t *testing.T) {
 
 		require.NoError(t, system.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		routeesKind := new(mockRouterActor)
 		poolSize := 2
@@ -64,14 +64,14 @@ func TestRouter(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, router)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a broadcast message to the router
 		message, _ := anypb.New(&testpb.TestLog{Text: "msg"})
 		err = Tell(ctx, router, &goaktpb.Broadcast{Message: message})
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// this is just for tests purpose
 		workerOneName := fmt.Sprintf("GoAktRoutee-%s-%d", router.Name(), 0)
@@ -114,7 +114,7 @@ func TestRouter(t *testing.T) {
 
 		require.NoError(t, system.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		routeesKind := new(mockRouterActor)
 		poolSize := 2
@@ -123,7 +123,7 @@ func TestRouter(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, router)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// this is just for tests purpose
 		workerOneName := fmt.Sprintf("GoAktRoutee-%s-%d", router.Name(), 0)
@@ -137,7 +137,7 @@ func TestRouter(t *testing.T) {
 		err = Tell(ctx, router, &goaktpb.Broadcast{Message: message})
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		ref, err := system.LocalActor("routerQA-pool")
 		require.Error(t, err)
@@ -161,7 +161,7 @@ func TestRouter(t *testing.T) {
 
 		require.NoError(t, system.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		routeesKind := new(mockRouterActor)
 		poolSize := 1
@@ -170,14 +170,14 @@ func TestRouter(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, router)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a broadcast message to the router
 		message, _ := anypb.New(&testpb.TestLog{Text: "msg"})
 		err = Tell(ctx, router, &goaktpb.Broadcast{Message: message})
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// this is just for tests purpose
 		workerName := fmt.Sprintf("GoAktRoutee-%s-%d", router.Name(), 0)
@@ -211,7 +211,7 @@ func TestRouter(t *testing.T) {
 
 		require.NoError(t, system.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a deadletter subscriber
 		consumer, err := system.Subscribe()
@@ -226,21 +226,21 @@ func TestRouter(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, router)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// this is just for tests purpose
 		workerName := fmt.Sprintf("GoAktRoutee-%s-%d", router.Name(), 0)
 		err = system.Kill(ctx, workerName)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a broadcast message to the router
 		message, _ := anypb.New(&testpb.TestLog{Text: "msg"})
 		err = Tell(ctx, router, &goaktpb.Broadcast{Message: message})
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.False(t, router.IsRunning())
 
 		var items []*goaktpb.Deadletter
@@ -272,7 +272,7 @@ func TestRouter(t *testing.T) {
 
 		require.NoError(t, system.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		routeesKind := new(mockRouterActor)
 		poolSize := 1
@@ -281,14 +281,14 @@ func TestRouter(t *testing.T) {
 		require.NoError(t, err)
 		require.NotNil(t, router)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a broadcast message to the router
 		message, _ := anypb.New(&testpb.TestLog{Text: "msg"})
 		err = Tell(ctx, router, &goaktpb.Broadcast{Message: message})
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// this is just for tests purpose
 		workerName := fmt.Sprintf("GoAktRoutee-%s-%d", router.Name(), 0)
diff --git a/actors/scheduler_test.go b/actors/scheduler_test.go
index 74e5090..9186325 100644
--- a/actors/scheduler_test.go
+++ b/actors/scheduler_test.go
@@ -34,7 +34,7 @@ import (
 	"github.com/travisjeffery/go-dynaport"
 
 	"github.com/tochemey/goakt/v2/address"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 )
@@ -58,7 +58,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -67,14 +67,14 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor after 100 ms
 		message := new(testpb.TestSend)
 		err = newActorSystem.ScheduleOnce(ctx, message, actorRef, 100*time.Millisecond)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		typedSystem := newActorSystem.(*actorSystem)
 		keys, err := typedSystem.scheduler.quartzScheduler.GetJobKeys()
 		require.NoError(t, err)
@@ -104,7 +104,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -113,7 +113,7 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.NoError(t, newActorSystem.Kill(ctx, actorName))
 
 		// send a message to the actor after 100 ms
@@ -121,7 +121,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.ScheduleOnce(ctx, message, actorRef, 100*time.Millisecond)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		typedSystem := newActorSystem.(*actorSystem)
 		keys, err := typedSystem.scheduler.quartzScheduler.GetJobKeys()
 		require.NoError(t, err)
@@ -151,7 +151,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		scheduler := newActorSystem.(*actorSystem).scheduler
 		scheduler.Stop(ctx)
@@ -193,7 +193,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -212,7 +212,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.RemoteScheduleOnce(ctx, message, addr, 100*time.Millisecond)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		typedSystem := newActorSystem.(*actorSystem)
 		// for test purpose only
 		keys, err := typedSystem.scheduler.quartzScheduler.GetJobKeys()
@@ -249,7 +249,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// test purpose only
 		typedSystem := newActorSystem.(*actorSystem)
@@ -295,7 +295,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -304,7 +304,7 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor after 100 ms
 		message := new(testpb.TestSend)
@@ -314,7 +314,7 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for two seconds
-		lib.Pause(2 * time.Second)
+		util.Pause(2 * time.Second)
 		assert.EqualValues(t, 2, actorRef.ProcessedCount()-1)
 
 		// stop the actor
@@ -339,7 +339,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -348,7 +348,7 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor after 100 ms
 		message := new(testpb.TestSend)
@@ -379,7 +379,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// test purpose only
 		typedSystem := newActorSystem.(*actorSystem)
@@ -392,7 +392,7 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor after 100 ms
 		message := new(testpb.TestSend)
@@ -430,7 +430,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -452,7 +452,7 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for two seconds
-		lib.Pause(2 * time.Second)
+		util.Pause(2 * time.Second)
 		assert.EqualValues(t, 2, actorRef.ProcessedCount()-1)
 
 		// stop the actor
@@ -483,7 +483,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -532,7 +532,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// test purpose only
 		typedSystem := newActorSystem.(*actorSystem)
 		typedSystem.scheduler.Stop(ctx)
@@ -579,7 +579,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -588,14 +588,14 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor after one second
 		message := new(testpb.TestSend)
 		err = newActorSystem.Schedule(ctx, message, actorRef, time.Second)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		typedSystem := newActorSystem.(*actorSystem)
 		keys, err := typedSystem.scheduler.quartzScheduler.GetJobKeys()
@@ -603,7 +603,7 @@ func TestScheduler(t *testing.T) {
 		require.NotEmpty(t, keys)
 		require.Len(t, keys, 1)
 
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 		require.EqualValues(t, 1, actorRef.ProcessedCount()-1)
 
 		// stop the actor
@@ -629,7 +629,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -638,7 +638,7 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.NoError(t, newActorSystem.Kill(ctx, actorName))
 
 		// send a message to the actor after one second
@@ -646,7 +646,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Schedule(ctx, message, actorRef, time.Second)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		typedSystem := newActorSystem.(*actorSystem)
 		keys, err := typedSystem.scheduler.quartzScheduler.GetJobKeys()
@@ -654,7 +654,7 @@ func TestScheduler(t *testing.T) {
 		require.NotEmpty(t, keys)
 		require.Len(t, keys, 1)
 
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 		require.EqualValues(t, 0, actorRef.ProcessedCount())
 
 		// stop the actor
@@ -679,7 +679,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		// test purpose only
 		typedSystem := newActorSystem.(*actorSystem)
 		typedSystem.scheduler.Stop(ctx)
@@ -691,7 +691,7 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 		assert.NotNil(t, actorRef)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor after one second
 		message := new(testpb.TestSend)
@@ -727,7 +727,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -746,7 +746,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.RemoteSchedule(ctx, message, addr, time.Second)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		typedSystem := newActorSystem.(*actorSystem)
 		keys, err := typedSystem.scheduler.quartzScheduler.GetJobKeys()
@@ -754,9 +754,9 @@ func TestScheduler(t *testing.T) {
 		require.NotEmpty(t, keys)
 		require.Len(t, keys, 1)
 
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 		require.EqualValues(t, 1, actorRef.ProcessedCount()-1)
-		lib.Pause(800 * time.Millisecond)
+		util.Pause(800 * time.Millisecond)
 		require.EqualValues(t, 2, actorRef.ProcessedCount()-1)
 
 		// stop the actor
@@ -787,7 +787,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// test purpose only
 		typedSystem := newActorSystem.(*actorSystem)
@@ -840,7 +840,7 @@ func TestScheduler(t *testing.T) {
 		err = newActorSystem.Start(ctx)
 		assert.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a test actor
 		actorName := "test"
@@ -855,14 +855,14 @@ func TestScheduler(t *testing.T) {
 		require.NoError(t, err)
 
 		require.NoError(t, newActorSystem.Kill(ctx, actorName))
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message to the actor after 100 ms
 		message := new(testpb.TestSend)
 		err = newActorSystem.RemoteSchedule(ctx, message, addr, time.Second)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		typedSystem := newActorSystem.(*actorSystem)
 		keys, err := typedSystem.scheduler.quartzScheduler.GetJobKeys()
@@ -870,7 +870,7 @@ func TestScheduler(t *testing.T) {
 		require.NotEmpty(t, keys)
 		require.Len(t, keys, 1)
 
-		lib.Pause(500 * time.Millisecond)
+		util.Pause(500 * time.Millisecond)
 		require.Zero(t, actorRef.ProcessedCount())
 
 		// stop the actor
diff --git a/actors/stash_test.go b/actors/stash_test.go
index 9394caf..88f16db 100644
--- a/actors/stash_test.go
+++ b/actors/stash_test.go
@@ -33,7 +33,7 @@ import (
 	"github.com/stretchr/testify/require"
 	"github.com/travisjeffery/go-dynaport"
 
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 )
@@ -53,7 +53,7 @@ func TestStash(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := &mockStashActor{}
@@ -62,14 +62,14 @@ func TestStash(t *testing.T) {
 		require.NotNil(t, pid)
 
 		// wait for the actor to properly start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a stash message to the actor
 		err = Tell(ctx, pid, new(testpb.TestStash))
 		require.NoError(t, err)
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.EqualValues(t, 1, pid.StashSize())
 
 		// at this stage any message sent to the actor is stashed
@@ -78,7 +78,7 @@ func TestStash(t *testing.T) {
 		}
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// when we assert the actor received count it will only show 1
 		require.EqualValues(t, 1, pid.StashSize())
@@ -86,23 +86,23 @@ func TestStash(t *testing.T) {
 		// send another stash
 		require.NoError(t, Tell(ctx, pid, new(testpb.TestLogin)))
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.EqualValues(t, 2, pid.StashSize())
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, Tell(ctx, pid, new(testpb.TestUnstash)))
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.EqualValues(t, 1, pid.StashSize())
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.NoError(t, Tell(ctx, pid, new(testpb.TestUnstashAll)))
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.Zero(t, pid.StashSize())
 
@@ -110,7 +110,7 @@ func TestStash(t *testing.T) {
 		err = Tell(ctx, pid, new(testpb.TestBye))
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.False(t, pid.IsRunning())
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
@@ -127,7 +127,7 @@ func TestStash(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := &mockStashActor{}
@@ -136,7 +136,7 @@ func TestStash(t *testing.T) {
 		require.NotNil(t, pid)
 
 		// wait for the actor to properly start
-		lib.Pause(5 * time.Millisecond)
+		util.Pause(5 * time.Millisecond)
 
 		err = pid.stash(new(ReceiveContext))
 		assert.Error(t, err)
@@ -144,7 +144,7 @@ func TestStash(t *testing.T) {
 
 		err = pid.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With unstash when stash not set", func(t *testing.T) {
@@ -160,7 +160,7 @@ func TestStash(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := &mockStashActor{}
@@ -169,7 +169,7 @@ func TestStash(t *testing.T) {
 		require.NotNil(t, pid)
 
 		// wait for the actor to properly start
-		lib.Pause(5 * time.Millisecond)
+		util.Pause(5 * time.Millisecond)
 
 		err = pid.unstash()
 		assert.Error(t, err)
@@ -181,7 +181,7 @@ func TestStash(t *testing.T) {
 
 		err = pid.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 	t.Run("With unstash when there is no stashed message", func(t *testing.T) {
@@ -198,7 +198,7 @@ func TestStash(t *testing.T) {
 
 		require.NoError(t, actorSystem.Start(ctx))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create the actor path
 		actor := &mockStashActor{}
@@ -207,14 +207,14 @@ func TestStash(t *testing.T) {
 		require.NotNil(t, pid)
 
 		// wait for the actor to properly start
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a stash message to the actor
 		err = Tell(ctx, pid, new(testpb.TestStash))
 		require.NoError(t, err)
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.EqualValues(t, 1, pid.StashSize())
 
 		// at this stage any message sent to the actor is stashed
@@ -223,7 +223,7 @@ func TestStash(t *testing.T) {
 		}
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// when we assert the actor received count it will only show 1
 		require.EqualValues(t, 1, pid.StashSize())
@@ -231,23 +231,23 @@ func TestStash(t *testing.T) {
 		// send another stash
 		require.NoError(t, Tell(ctx, pid, new(testpb.TestLogin)))
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.EqualValues(t, 2, pid.StashSize())
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, Tell(ctx, pid, new(testpb.TestUnstash)))
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.EqualValues(t, 1, pid.StashSize())
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, Tell(ctx, pid, new(testpb.TestUnstashAll)))
 
 		// add some pause here due to async calls
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		require.Zero(t, pid.StashSize())
 
@@ -257,7 +257,7 @@ func TestStash(t *testing.T) {
 
 		err = pid.Shutdown(ctx)
 		assert.NoError(t, err)
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.NoError(t, actorSystem.Stop(ctx))
 	})
 }
diff --git a/bench/actor_test.go b/bench/actor_test.go
index 4845e47..f00d5ce 100644
--- a/bench/actor_test.go
+++ b/bench/actor_test.go
@@ -34,7 +34,7 @@ import (
 
 	"github.com/tochemey/goakt/v2/actors"
 	"github.com/tochemey/goakt/v2/bench/benchpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 )
 
@@ -53,7 +53,7 @@ func BenchmarkActor(b *testing.B) {
 		_ = actorSystem.Start(ctx)
 
 		// wait for system to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		// define the benchmark actor
 		actor := &Actor{}
@@ -62,7 +62,7 @@ func BenchmarkActor(b *testing.B) {
 		pid, _ := actorSystem.Spawn(ctx, "test", actor)
 
 		// wait for actors to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		var counter int64
 		b.ResetTimer()
@@ -96,14 +96,14 @@ func BenchmarkActor(b *testing.B) {
 		_ = actorSystem.Start(ctx)
 
 		// wait for system to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		// create the actors
 		sender, _ := actorSystem.Spawn(ctx, "sender", new(Actor))
 		receiver, _ := actorSystem.Spawn(ctx, "receiver", new(Actor))
 
 		// wait for actors to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 		var counter int64
 		b.ResetTimer()
 		b.ReportAllocs()
@@ -133,14 +133,14 @@ func BenchmarkActor(b *testing.B) {
 		_ = actorSystem.Start(ctx)
 
 		// wait for system to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		// create the actors
 		sender, _ := actorSystem.Spawn(ctx, "sender", new(Actor), actors.WithMailbox(actors.NewBoundedMailbox(b.N)))
 		receiver, _ := actorSystem.Spawn(ctx, "receiver", new(Actor), actors.WithMailbox(actors.NewBoundedMailbox(b.N)))
 
 		// wait for actors to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 		var counter int64
 		b.ResetTimer()
 		b.ReportAllocs()
@@ -176,14 +176,14 @@ func BenchmarkActor(b *testing.B) {
 		_ = actorSystem.Start(ctx)
 
 		// wait for system to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		// create the actors
 		sender, _ := actorSystem.Spawn(ctx, "sender", new(Actor), actors.WithMailbox(actors.NewUnboundedPriorityMailBox(priorityFunc)))
 		receiver, _ := actorSystem.Spawn(ctx, "receiver", new(Actor), actors.WithMailbox(actors.NewUnboundedPriorityMailBox(priorityFunc)))
 
 		// wait for actors to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 		var counter int64
 		b.ResetTimer()
 		b.ReportAllocs()
@@ -218,14 +218,14 @@ func BenchmarkActor(b *testing.B) {
 		_ = actorSystem.Start(ctx)
 
 		// wait for system to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		// create the actors
 		sender, _ := actorSystem.Spawn(ctx, "sender", new(Actor))
 		receiver, _ := actorSystem.Spawn(ctx, "receiver", new(Actor))
 
 		// wait for actors to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 		var counter int64
 		b.ResetTimer()
 		b.ReportAllocs()
@@ -256,7 +256,7 @@ func BenchmarkActor(b *testing.B) {
 		_ = actorSystem.Start(ctx)
 
 		// wait for system to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		// define the benchmark actor
 		actor := &Actor{}
@@ -265,7 +265,7 @@ func BenchmarkActor(b *testing.B) {
 		pid, _ := actorSystem.Spawn(ctx, "test", actor)
 
 		// wait for actors to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 		var counter int64
 		b.ResetTimer()
 		b.ReportAllocs()
@@ -297,14 +297,14 @@ func BenchmarkActor(b *testing.B) {
 		_ = actorSystem.Start(ctx)
 
 		// wait for system to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		// create the actors
 		sender, _ := actorSystem.Spawn(ctx, "sender", new(Actor))
 		receiver, _ := actorSystem.Spawn(ctx, "receiver", new(Actor))
 
 		// wait for actors to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		var counter int64
 		b.ResetTimer()
@@ -336,14 +336,14 @@ func BenchmarkActor(b *testing.B) {
 		_ = actorSystem.Start(ctx)
 
 		// wait for system to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		// create the actors
 		sender, _ := actorSystem.Spawn(ctx, "sender", new(Actor), actors.WithMailbox(actors.NewBoundedMailbox(b.N)))
 		receiver, _ := actorSystem.Spawn(ctx, "receiver", new(Actor), actors.WithMailbox(actors.NewBoundedMailbox(b.N)))
 
 		// wait for actors to start properly
-		lib.Pause(1 * time.Second)
+		util.Pause(1 * time.Second)
 
 		var counter int64
 		b.ResetTimer()
diff --git a/client/client_test.go b/client/client_test.go
index 490c96a..5ed0ca0 100644
--- a/client/client_test.go
+++ b/client/client_test.go
@@ -40,7 +40,7 @@ import (
 	"github.com/tochemey/goakt/v2/discovery"
 	"github.com/tochemey/goakt/v2/discovery/nats"
 	"github.com/tochemey/goakt/v2/goaktpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 	testspb "github.com/tochemey/goakt/v2/test/data/testpb"
@@ -61,7 +61,7 @@ func TestClient(t *testing.T) {
 		sys3, node3Host, node3Port, sd3 := startNode(t, logger, "node3", addr)
 
 		// wait for a proper and clean setup of the cluster
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		addresses := []string{
 			fmt.Sprintf("%s:%d", node1Host, node1Port),
@@ -95,7 +95,7 @@ func TestClient(t *testing.T) {
 		err = client.Spawn(ctx, actor)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message
 		reply, err := client.Ask(ctx, actor, new(testspb.TestReply), time.Minute)
@@ -104,7 +104,7 @@ func TestClient(t *testing.T) {
 		expectedReply := &testpb.Reply{Content: "received message"}
 		assert.True(t, proto.Equal(expectedReply, reply))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Tell(ctx, actor, new(testspb.TestSend))
 		require.NoError(t, err)
@@ -125,7 +125,7 @@ func TestClient(t *testing.T) {
 				require.NoError(t, sd3.Close())
 
 				srv.Shutdown()
-				lib.Pause(time.Second)
+				util.Pause(time.Second)
 			})
 	})
 	t.Run("With randomRouter strategy", func(t *testing.T) {
@@ -140,7 +140,7 @@ func TestClient(t *testing.T) {
 		sys3, node3Host, node3Port, sd3 := startNode(t, logger, "node3", addr)
 
 		// wait for a proper and clean setup of the cluster
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		addresses := []string{
 			fmt.Sprintf("%s:%d", node1Host, node1Port),
@@ -179,7 +179,7 @@ func TestClient(t *testing.T) {
 		err = client.Spawn(ctx, actor)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message
 		reply, err := client.Ask(ctx, actor, new(testspb.TestReply), time.Minute)
@@ -188,7 +188,7 @@ func TestClient(t *testing.T) {
 		expectedReply := &testpb.Reply{Content: "received message"}
 		assert.True(t, proto.Equal(expectedReply, reply))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Tell(ctx, actor, new(testspb.TestSend))
 		require.NoError(t, err)
@@ -210,7 +210,7 @@ func TestClient(t *testing.T) {
 
 				srv.Shutdown()
 
-				lib.Pause(time.Second)
+				util.Pause(time.Second)
 			},
 		)
 	})
@@ -226,7 +226,7 @@ func TestClient(t *testing.T) {
 		sys3, node3Host, node3Port, sd3 := startNode(t, logger, "node3", addr)
 
 		// wait for a proper and clean setup of the cluster
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		addresses := []string{
 			fmt.Sprintf("%s:%d", node1Host, node1Port),
@@ -265,7 +265,7 @@ func TestClient(t *testing.T) {
 		err = client.Spawn(ctx, actor)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message
 		reply, err := client.Ask(ctx, actor, new(testspb.TestReply), time.Minute)
@@ -274,7 +274,7 @@ func TestClient(t *testing.T) {
 		expectedReply := &testpb.Reply{Content: "received message"}
 		assert.True(t, proto.Equal(expectedReply, reply))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Tell(ctx, actor, new(testspb.TestSend))
 		require.NoError(t, err)
@@ -295,7 +295,7 @@ func TestClient(t *testing.T) {
 				require.NoError(t, sd3.Close())
 
 				srv.Shutdown()
-				lib.Pause(time.Second)
+				util.Pause(time.Second)
 			},
 		)
 	})
@@ -313,7 +313,7 @@ func TestClient(t *testing.T) {
 		sys3, node3Host, node3Port, sd3 := startNode(t, logger, "node3", addr)
 
 		// wait for a proper and clean setup of the cluster
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		addresses := []string{
 			fmt.Sprintf("%s:%d", node1Host, node1Port),
@@ -347,7 +347,7 @@ func TestClient(t *testing.T) {
 		err = client.Spawn(ctx, actor)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message
 		reply, err := client.Ask(ctx, actor, new(testspb.TestReply), time.Minute)
@@ -356,7 +356,7 @@ func TestClient(t *testing.T) {
 		expectedReply := &testpb.Reply{Content: "received message"}
 		assert.True(t, proto.Equal(expectedReply, reply))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Tell(ctx, actor, new(testspb.TestSend))
 		require.NoError(t, err)
@@ -378,7 +378,7 @@ func TestClient(t *testing.T) {
 
 				srv.Shutdown()
 
-				lib.Pause(time.Second)
+				util.Pause(time.Second)
 			},
 		)
 	})
@@ -396,7 +396,7 @@ func TestClient(t *testing.T) {
 		sys3, node3Host, node3Port, sd3 := startNode(t, logger, "node3", addr)
 
 		// wait for a proper and clean setup of the cluster
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		addresses := []string{
 			fmt.Sprintf("%s:%d", node1Host, node1Port),
@@ -430,7 +430,7 @@ func TestClient(t *testing.T) {
 		err = client.SpawnWithBalancer(ctx, actor, RandomStrategy)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message
 		reply, err := client.Ask(ctx, actor, new(testspb.TestReply), time.Minute)
@@ -439,7 +439,7 @@ func TestClient(t *testing.T) {
 		expectedReply := &testpb.Reply{Content: "received message"}
 		assert.True(t, proto.Equal(expectedReply, reply))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Tell(ctx, actor, new(testspb.TestSend))
 		require.NoError(t, err)
@@ -460,7 +460,7 @@ func TestClient(t *testing.T) {
 				require.NoError(t, sd3.Close())
 
 				srv.Shutdown()
-				lib.Pause(time.Second)
+				util.Pause(time.Second)
 			},
 		)
 	})
@@ -478,7 +478,7 @@ func TestClient(t *testing.T) {
 		sys3, node3Host, node3Port, sd3 := startNode(t, logger, "node3", addr)
 
 		// wait for a proper and clean setup of the cluster
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		addresses := []string{
 			fmt.Sprintf("%s:%d", node1Host, node1Port),
@@ -512,7 +512,7 @@ func TestClient(t *testing.T) {
 		err = client.Spawn(ctx, actor)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message
 		reply, err := client.Ask(ctx, actor, new(testspb.TestReply), time.Minute)
@@ -521,7 +521,7 @@ func TestClient(t *testing.T) {
 		expectedReply := &testpb.Reply{Content: "received message"}
 		assert.True(t, proto.Equal(expectedReply, reply))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Tell(ctx, actor, new(testspb.TestSend))
 		require.NoError(t, err)
@@ -529,7 +529,7 @@ func TestClient(t *testing.T) {
 		err = client.ReSpawn(ctx, actor)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Stop(ctx, actor)
 		require.NoError(t, err)
@@ -547,7 +547,7 @@ func TestClient(t *testing.T) {
 				require.NoError(t, sd3.Close())
 
 				srv.Shutdown()
-				lib.Pause(time.Second)
+				util.Pause(time.Second)
 			},
 		)
 	})
@@ -565,7 +565,7 @@ func TestClient(t *testing.T) {
 		sys3, node3Host, node3Port, sd3 := startNode(t, logger, "node3", addr)
 
 		// wait for a proper and clean setup of the cluster
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		addresses := []string{
 			fmt.Sprintf("%s:%d", node1Host, node1Port),
@@ -599,7 +599,7 @@ func TestClient(t *testing.T) {
 		err = client.Spawn(ctx, actor)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// send a message
 		reply, err := client.Ask(ctx, actor, new(testspb.TestReply), time.Minute)
@@ -608,12 +608,12 @@ func TestClient(t *testing.T) {
 		expectedReply := &testpb.Reply{Content: "received message"}
 		assert.True(t, proto.Equal(expectedReply, reply))
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Tell(ctx, actor, new(testspb.TestSend))
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		err = client.Stop(ctx, actor)
 		require.NoError(t, err)
@@ -634,7 +634,7 @@ func TestClient(t *testing.T) {
 				require.NoError(t, sd3.Close())
 
 				srv.Shutdown()
-				lib.Pause(time.Second)
+				util.Pause(time.Second)
 			},
 		)
 	})
@@ -652,7 +652,7 @@ func TestClient(t *testing.T) {
 		sys3, node3Host, node3Port, sd3 := startNode(t, logger, "node3", addr)
 
 		// wait for a proper and clean setup of the cluster
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		addresses := []string{
 			fmt.Sprintf("%s:%d", node1Host, node1Port),
@@ -686,7 +686,7 @@ func TestClient(t *testing.T) {
 		err = client.Spawn(ctx, actor)
 		require.NoError(t, err)
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		whereis, err := client.Whereis(ctx, actor)
 		require.NoError(t, err)
@@ -709,7 +709,7 @@ func TestClient(t *testing.T) {
 				require.NoError(t, sd3.Close())
 
 				srv.Shutdown()
-				lib.Pause(time.Second)
+				util.Pause(time.Second)
 			})
 	})
 }
@@ -801,7 +801,7 @@ func startNode(t *testing.T, logger log.Logger, nodeName, serverAddr string) (sy
 	// start the node
 	require.NoError(t, system.Start(ctx))
 
-	lib.Pause(time.Second)
+	util.Pause(time.Second)
 
 	logger.Infof("node information=%s", hostNode.String())
 
diff --git a/discovery/dnssd/discovery_test.go b/discovery/dnssd/discovery_test.go
index f7512c7..9796f2e 100644
--- a/discovery/dnssd/discovery_test.go
+++ b/discovery/dnssd/discovery_test.go
@@ -35,7 +35,7 @@ import (
 	"go.uber.org/atomic"
 
 	"github.com/tochemey/goakt/v2/discovery"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 )
 
 func TestDiscovery(t *testing.T) {
@@ -87,10 +87,10 @@ func TestDiscovery(t *testing.T) {
 		require.NoError(t, provider.Initialize())
 		require.NoError(t, provider.Register())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, provider.initialized.Load())
 		require.NoError(t, provider.Deregister())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.False(t, provider.initialized.Load())
 	})
 	t.Run("With Register when already registered", func(t *testing.T) {
@@ -103,13 +103,13 @@ func TestDiscovery(t *testing.T) {
 		require.NoError(t, provider.Initialize())
 		require.NoError(t, provider.Register())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, provider.initialized.Load())
 		err := provider.Register()
 		require.Error(t, err)
 		require.EqualError(t, err, discovery.ErrAlreadyRegistered.Error())
 		require.NoError(t, provider.Deregister())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.False(t, provider.initialized.Load())
 	})
 	t.Run("With Deregister", func(t *testing.T) {
@@ -160,7 +160,7 @@ func TestDiscovery(t *testing.T) {
 		require.NoError(t, provider.Register())
 
 		// wait for registration to be completed
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, provider.initialized.Load())
 
 		// discover peers
@@ -185,7 +185,7 @@ func TestDiscovery(t *testing.T) {
 		require.NoError(t, provider.Register())
 
 		// wait for registration to be completed
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, provider.initialized.Load())
 
 		// discover peers
diff --git a/discovery/mdns/discovery_test.go b/discovery/mdns/discovery_test.go
index 77b95a2..d65bdcf 100644
--- a/discovery/mdns/discovery_test.go
+++ b/discovery/mdns/discovery_test.go
@@ -34,7 +34,7 @@ import (
 	"go.uber.org/atomic"
 
 	"github.com/tochemey/goakt/v2/discovery"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 )
 
 func TestDiscovery(t *testing.T) {
@@ -119,10 +119,10 @@ func TestDiscovery(t *testing.T) {
 		require.NoError(t, provider.Initialize())
 		require.NoError(t, provider.Register())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, provider.initialized.Load())
 		require.NoError(t, provider.Deregister())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.False(t, provider.initialized.Load())
 	})
 	t.Run("With Register when already registered", func(t *testing.T) {
@@ -144,13 +144,13 @@ func TestDiscovery(t *testing.T) {
 		require.NoError(t, provider.Initialize())
 		require.NoError(t, provider.Register())
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, provider.initialized.Load())
 		err := provider.Register()
 		require.Error(t, err)
 		require.EqualError(t, err, discovery.ErrAlreadyRegistered.Error())
 		require.NoError(t, provider.Deregister())
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		assert.False(t, provider.initialized.Load())
 	})
 	t.Run("With Deregister", func(t *testing.T) {
@@ -217,7 +217,7 @@ func TestDiscovery(t *testing.T) {
 		require.NoError(t, provider.Register())
 
 		// wait for registration to be completed
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, provider.initialized.Load())
 
 		// discover peers
@@ -252,7 +252,7 @@ func TestDiscovery(t *testing.T) {
 		require.NoError(t, provider.Register())
 
 		// wait for registration to be completed
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 		require.True(t, provider.initialized.Load())
 
 		// discover peers
diff --git a/internal/cluster/engine_test.go b/internal/cluster/engine_test.go
index 207d219..0b9f5b9 100644
--- a/internal/cluster/engine_test.go
+++ b/internal/cluster/engine_test.go
@@ -43,8 +43,8 @@ import (
 	"github.com/tochemey/goakt/v2/discovery/nats"
 	"github.com/tochemey/goakt/v2/goaktpb"
 	"github.com/tochemey/goakt/v2/internal/internalpb"
-	"github.com/tochemey/goakt/v2/internal/lib"
 	"github.com/tochemey/goakt/v2/internal/testutil"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	testkit "github.com/tochemey/goakt/v2/mocks/discovery"
 )
@@ -170,7 +170,7 @@ func TestSingleNode(t *testing.T) {
 		require.Nil(t, actual)
 		assert.EqualError(t, err, ErrActorNotFound.Error())
 		//  shutdown the Node startNode
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// stop the startNode
 		require.NoError(t, cluster.Stop(ctx))
@@ -237,7 +237,7 @@ func TestSingleNode(t *testing.T) {
 		assert.False(t, isSet)
 
 		//  shutdown the Node startNode
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// stop the startNode
 		require.NoError(t, cluster.Stop(ctx))
@@ -391,7 +391,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.NotNil(t, node1)
 
 		// wait for the node to start properly
-		lib.Pause(2 * time.Second)
+		util.Pause(2 * time.Second)
 
 		// create a cluster node2
 		node2, sd2 := startEngine(t, "node2", srv.Addr().String())
@@ -399,7 +399,7 @@ func TestMultipleNodes(t *testing.T) {
 		node2Addr := node2.node.PeersAddress()
 
 		// wait for the node to start properly
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a cluster node3
 		node3, sd3 := startEngine(t, "node3", srv.Addr().String())
@@ -407,7 +407,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.NotNil(t, sd3)
 
 		// wait for the node to start properly
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the node joined cluster event
 		var events []*Event
@@ -440,7 +440,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.Equal(t, node2Addr, net.JoinHostPort(peers[0].Host, strconv.Itoa(peers[0].PeersPort)))
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create some actors
 		actorName := uuid.NewString()
@@ -456,7 +456,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// get the actor from node1 and node3
 		actual, err := node1.GetActor(ctx, actorName)
@@ -481,7 +481,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		actors, err := node1.Actors(ctx, time.Second)
 		require.NoError(t, err)
@@ -498,7 +498,7 @@ func TestMultipleNodes(t *testing.T) {
 		// stop the second node
 		require.NoError(t, node2.Stop(ctx))
 		// wait for the event to propagate properly
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// reset the slice
 		events = []*Event{}
@@ -546,7 +546,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.NotNil(t, node1)
 
 		// wait for the node to start properly
-		lib.Pause(2 * time.Second)
+		util.Pause(2 * time.Second)
 
 		// create a cluster node2
 		node2, sd2 := startEngineWithTLS(t, "node2", srv.Addr().String(), rootCert)
@@ -554,7 +554,7 @@ func TestMultipleNodes(t *testing.T) {
 		node2Addr := node2.node.PeersAddress()
 
 		// wait for the node to start properly
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create a cluster node3
 		node3, sd3 := startEngineWithTLS(t, "node3", srv.Addr().String(), rootCert)
@@ -562,7 +562,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.NotNil(t, sd3)
 
 		// wait for the node to start properly
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// assert the node joined cluster event
 		var events []*Event
@@ -595,7 +595,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.Equal(t, node2Addr, net.JoinHostPort(peers[0].Host, strconv.Itoa(peers[0].PeersPort)))
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// create some actors
 		actorName := uuid.NewString()
@@ -611,7 +611,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// get the actor from node1 and node3
 		actual, err := node1.GetActor(ctx, actorName)
@@ -636,7 +636,7 @@ func TestMultipleNodes(t *testing.T) {
 		require.NoError(t, err)
 
 		// wait for some time
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		actors, err := node1.Actors(ctx, time.Second)
 		require.NoError(t, err)
@@ -653,7 +653,7 @@ func TestMultipleNodes(t *testing.T) {
 		// stop the second node
 		require.NoError(t, node2.Stop(ctx))
 		// wait for the event to propagate properly
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		// reset the slice
 		events = []*Event{}
diff --git a/internal/cluster/option_test.go b/internal/cluster/option_test.go
index 830f988..b350e9c 100644
--- a/internal/cluster/option_test.go
+++ b/internal/cluster/option_test.go
@@ -103,8 +103,8 @@ func TestOptions(t *testing.T) {
 		},
 		{
 			name:     "WithStorageSize",
-			option:   WithStorageSize(size),
-			expected: Engine{storageSize: size},
+			option:   WithKVStoreSize(size),
+			expected: Engine{kvStoreSize: size},
 		},
 	}
 
diff --git a/internal/eventstream/stream_test.go b/internal/eventstream/stream_test.go
index 222d459..b8ff061 100644
--- a/internal/eventstream/stream_test.go
+++ b/internal/eventstream/stream_test.go
@@ -31,7 +31,7 @@ import (
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
 
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 )
 
 func TestBroker(t *testing.T) {
@@ -104,7 +104,7 @@ func TestBroker(t *testing.T) {
 		broker.Publish("t1", "hi")
 		broker.Publish("t2", "hello")
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var messages []*Message
 		for message := range cons.Iterator() {
@@ -132,7 +132,7 @@ func TestBroker(t *testing.T) {
 
 		broker.Broadcast("hi", []string{"t1", "t2"})
 
-		lib.Pause(time.Second)
+		util.Pause(time.Second)
 
 		var messages []*Message
 		for message := range cons.Iterator() {
diff --git a/testkit/probe_test.go b/testkit/probe_test.go
index a192a92..0e0763e 100644
--- a/testkit/probe_test.go
+++ b/testkit/probe_test.go
@@ -34,7 +34,7 @@ import (
 	"google.golang.org/protobuf/encoding/prototext"
 
 	"github.com/tochemey/goakt/v2/actors"
-	"github.com/tochemey/goakt/v2/internal/lib"
+	"github.com/tochemey/goakt/v2/internal/util"
 	"github.com/tochemey/goakt/v2/log"
 	"github.com/tochemey/goakt/v2/test/data/testpb"
 )
@@ -227,7 +227,7 @@ func (t pinger) Receive(ctx *actors.ReceiveContext) {
 		wg := sync.WaitGroup{}
 		wg.Add(1)
 		go func() {
-			lib.Pause(time.Duration(x.Duration))
+			util.Pause(time.Duration(x.Duration))
 			wg.Done()
 		}()
 		// block until timer is up