diff --git a/.github/workflows/checkout.yml b/.github/workflows/checkout.yml
index 0f69482..89720bb 100644
--- a/.github/workflows/checkout.yml
+++ b/.github/workflows/checkout.yml
@@ -30,6 +30,7 @@ jobs:
       image: dart:stable
     env:
       pub-cache-name: pub
+      PUB_CACHE: /github/home/.pub-cache
     timeout-minutes: 10
     steps:
       - name: 🚂 Get latest code
@@ -42,6 +43,7 @@ jobs:
             lib
             test
             analysis_options.yaml
+            README.md
             CHANGELOG.md
 
       - name: 📤 Restore Pub modules
@@ -49,38 +51,33 @@ jobs:
         uses: actions/cache/restore@v4
         with:
           path: |
-            $PWD/.pub_cache/
-          key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('**/pubspec.yaml') }}
-
-      - name: 🗄️ Export Pub cache directory
-        id: export-pub-cache
-        timeout-minutes: 1
-        run: |
-          export PUB_CACHE=$PWD/.pub_cache/
-          export PATH="$PATH":"$HOME/.pub-cache/bin"
+            ${{ env.PUB_CACHE }}
+          key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('pubspec.yaml') }}
 
       - name: 👷 Install Dependencies
         id: install-dependencies
         timeout-minutes: 1
-        run: dart pub get --no-example
+        run: |
+          echo $PUB_CACHE/bin >> $GITHUB_PATH
+          dart pub get --no-example
 
       - name: 📥 Save Pub modules
         id: cache-pub-save
         uses: actions/cache/save@v4
         with:
           path: |
-            $PWD/.pub_cache/
-          key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('**/pubspec.yaml') }}
+            ${{ env.PUB_CACHE }}
+          key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('pubspec.yaml') }}
 
       - name: 🔎 Check format
         id: check-format
         timeout-minutes: 1
-        run: dart format --set-exit-if-changed -l 80 -o none lib/
+        run: dart format --set-exit-if-changed -l 80 -o none lib/ test/
 
       - name: 📈 Check analyzer
         id: check-analyzer
         timeout-minutes: 1
-        run: dart analyze --fatal-infos --fatal-warnings lib/
+        run: dart analyze --fatal-infos --fatal-warnings lib/ test/
 
       - name: 👀 Verify versions
         id: verify-versions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 80fe819..075383d 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -104,6 +104,7 @@ jobs:
     env:
       pub-cache-name: pub
       threshold: 50
+      PUB_CACHE: /github/home/.pub-cache
     timeout-minutes: 15
     steps:
       - name: 🚂 Get latest code
@@ -129,20 +130,14 @@ jobs:
         uses: actions/cache/restore@v4
         with:
           path: |
-            $PWD/.pub_cache/
-          key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('**/pubspec.yaml') }}
-
-      - name: 🗄️ Export Pub cache directory
-        id: export-pub-cache
-        timeout-minutes: 1
-        run: |
-          export PUB_CACHE=$PWD/.pub_cache/
-          export PATH="$PATH":"$HOME/.pub-cache/bin"
+            ${{ env.PUB_CACHE }}
+          key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('pubspec.yaml') }}
 
       - name: 👷 Install Dependencies
         id: install-dependencies
         timeout-minutes: 1
         run: |
+          echo $PUB_CACHE/bin >> $GITHUB_PATH
           apt-get update && apt-get install -y lcov bc
           dart pub get --no-example
 
@@ -151,8 +146,8 @@ jobs:
         uses: actions/cache/save@v4
         with:
           path: |
-            $PWD/.pub_cache/
-          key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('**/pubspec.yaml') }}
+            ${{ env.PUB_CACHE }}
+          key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('pubspec.yaml') }}
 
       - name: 📢 Run Echo server
         id: run-echo-server
diff --git a/.pubignore b/.pubignore
new file mode 100644
index 0000000..0963d8d
--- /dev/null
+++ b/.pubignore
@@ -0,0 +1 @@
+example/benchmark/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b85b300..6286b2c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.3
+
+- Move benchmark to example folder
+
 ## 0.0.2
 
 - Basic functionality implemented
diff --git a/Makefile b/Makefile
index f47c6e8..a1b5987 100644
--- a/Makefile
+++ b/Makefile
@@ -1,41 +1,71 @@
-.PHONY: format get outdated test publish deploy echo-up echo-down coverage analyze check pana generate
-
 ifeq ($(OS),Windows_NT)
+	SHELL = cmd
     RM = del /Q
     MKDIR = mkdir
     PWD = $(shell $(PWD))
 else
+	SHELL = /bin/bash -e -o pipefail
     RM = rm -f
     MKDIR = mkdir -p
     PWD = pwd
 endif
 
-format:
-	@echo "Formatting the code"
-	@dart format -l 80 --fix .
+.DEFAULT_GOAL := all
+.PHONY: all
+all: ## build pipeline
+all: generate format check test
+
+.PHONY: precommit
+precommit: ## validate the branch before commit
+precommit: all
+
+.PHONY: help
+help:
+	@echo 'Usage: make <OPTIONS> ... <TARGETS>'
+	@echo ''
+	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
+
+.PHONY: format
+format: ## Format the code
+	@dart format -l 80 --fix lib/ test/
 	@dart fix --apply .
 
-get:
+.PHONY: get
+get: ## Get the dependencies
 	@dart pub get
 
-outdated:
+.PHONY: outdated
+outdated: get ## Check for outdated dependencies
 	@dart pub outdated --show-all --dev-dependencies --dependency-overrides --transitive --no-prereleases
 
-test: get
-	@dart test --debug --coverage=coverage --platform chrome,vm test/unit_test.dart
+.PHONY: test
+test: get ## Run the tests
+	@dart test --debug --coverage=coverage --platform vm,chrome test/unit_test.dart
 
-publish: generate
+.PHONY: publish-check
+publish-check: ## Check the package before publishing
+	@dart pub publish --dry-run
+
+.PHONY: deploy-check
+deploy-check: publish-check
+
+.PHONY: publish
+publish: generate ## Publish the package
 	@yes | dart pub publish
 
+.PHONY: deploy
 deploy: publish
 
-echo-up:
+.PHONY: echo-up
+echo-up: ## Start the echo server
 	@dart run tool/echo_up.dart
 
-echo-down:
+.PHONY: echo-down
+echo-down: ## Stop the echo server
 	@dart run tool/echo_down.dart
 
-coverage: get
+.PHONY: coverage
+coverage: get ## Generate the coverage report
 	@dart pub global activate coverage
 	@dart pub global run coverage:test_with_coverage -fb -o coverage -- \
 		--platform vm --compiler=kernel --coverage=coverage \
@@ -50,23 +80,34 @@ coverage: get
 	@lcov --list coverage/lcov.info
 	@genhtml -o coverage coverage/lcov.info
 
-analyze: get format
-	@echo "Analyze the code"
-	@dart analyze --fatal-infos --fatal-warnings
+.PHONY: analyze
+analyze: get ## Analyze the code
+	@dart format --set-exit-if-changed -l 80 -o none lib/ test/
+	@dart analyze --fatal-infos --fatal-warnings lib/ test/
 
-check: analyze
-	@dart pub publish --dry-run
+.PHONY: check
+check: analyze publish-check ## Check the code
 	@dart pub global activate pana
 	@pana --json --no-warning --line-length 80 > log.pana.json
 
+.PHONY: pana
 pana: check
 
-generate: get
+.PHONY: generate
+generate: get ## Generate the code
 	@dart pub global activate protoc_plugin
 	@protoc --proto_path=lib/src/protobuf --dart_out=lib/src/protobuf lib/src/protobuf/client.proto
 	@dart run build_runner build --delete-conflicting-outputs
 	@dart format -l 80 lib/src/model/pubspec.yaml.g.dart lib/src/protobuf/ test/
 
+.PHONY: gen
 gen: generate
 
-codegen: generate
\ No newline at end of file
+.PHONY: codegen
+codegen: generate
+
+.PHONY: diff
+diff: ## git diff
+	$(call print-target)
+	@git diff --exit-code
+	@RES=$$(git status --porcelain) ; if [ -n "$$RES" ]; then echo $$RES && exit 1 ; fi
diff --git a/benchmark/.firebaserc b/example/benchmark/.firebaserc
similarity index 100%
rename from benchmark/.firebaserc
rename to example/benchmark/.firebaserc
diff --git a/benchmark/.gitignore b/example/benchmark/.gitignore
similarity index 100%
rename from benchmark/.gitignore
rename to example/benchmark/.gitignore
diff --git a/benchmark/.metadata b/example/benchmark/.metadata
similarity index 100%
rename from benchmark/.metadata
rename to example/benchmark/.metadata
diff --git a/benchmark/README.md b/example/benchmark/README.md
similarity index 100%
rename from benchmark/README.md
rename to example/benchmark/README.md
diff --git a/benchmark/analysis_options.yaml b/example/benchmark/analysis_options.yaml
similarity index 100%
rename from benchmark/analysis_options.yaml
rename to example/benchmark/analysis_options.yaml
diff --git a/benchmark/android/.gitignore b/example/benchmark/android/.gitignore
similarity index 100%
rename from benchmark/android/.gitignore
rename to example/benchmark/android/.gitignore
diff --git a/benchmark/android/app/build.gradle b/example/benchmark/android/app/build.gradle
similarity index 100%
rename from benchmark/android/app/build.gradle
rename to example/benchmark/android/app/build.gradle
diff --git a/benchmark/android/app/src/debug/AndroidManifest.xml b/example/benchmark/android/app/src/debug/AndroidManifest.xml
similarity index 100%
rename from benchmark/android/app/src/debug/AndroidManifest.xml
rename to example/benchmark/android/app/src/debug/AndroidManifest.xml
diff --git a/benchmark/android/app/src/main/AndroidManifest.xml b/example/benchmark/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from benchmark/android/app/src/main/AndroidManifest.xml
rename to example/benchmark/android/app/src/main/AndroidManifest.xml
diff --git a/benchmark/android/app/src/main/kotlin/dev/plugfox/spinifybenchmark/MainActivity.kt b/example/benchmark/android/app/src/main/kotlin/dev/plugfox/spinifybenchmark/MainActivity.kt
similarity index 100%
rename from benchmark/android/app/src/main/kotlin/dev/plugfox/spinifybenchmark/MainActivity.kt
rename to example/benchmark/android/app/src/main/kotlin/dev/plugfox/spinifybenchmark/MainActivity.kt
diff --git a/benchmark/android/app/src/main/res/drawable-v21/launch_background.xml b/example/benchmark/android/app/src/main/res/drawable-v21/launch_background.xml
similarity index 100%
rename from benchmark/android/app/src/main/res/drawable-v21/launch_background.xml
rename to example/benchmark/android/app/src/main/res/drawable-v21/launch_background.xml
diff --git a/benchmark/android/app/src/main/res/drawable/launch_background.xml b/example/benchmark/android/app/src/main/res/drawable/launch_background.xml
similarity index 100%
rename from benchmark/android/app/src/main/res/drawable/launch_background.xml
rename to example/benchmark/android/app/src/main/res/drawable/launch_background.xml
diff --git a/benchmark/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/benchmark/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from benchmark/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to example/benchmark/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/benchmark/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example/benchmark/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from benchmark/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to example/benchmark/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/benchmark/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/example/benchmark/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from benchmark/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to example/benchmark/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/benchmark/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/benchmark/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from benchmark/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to example/benchmark/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/benchmark/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/example/benchmark/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from benchmark/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to example/benchmark/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/benchmark/android/app/src/main/res/values-night/styles.xml b/example/benchmark/android/app/src/main/res/values-night/styles.xml
similarity index 100%
rename from benchmark/android/app/src/main/res/values-night/styles.xml
rename to example/benchmark/android/app/src/main/res/values-night/styles.xml
diff --git a/benchmark/android/app/src/main/res/values/styles.xml b/example/benchmark/android/app/src/main/res/values/styles.xml
similarity index 100%
rename from benchmark/android/app/src/main/res/values/styles.xml
rename to example/benchmark/android/app/src/main/res/values/styles.xml
diff --git a/benchmark/android/app/src/profile/AndroidManifest.xml b/example/benchmark/android/app/src/profile/AndroidManifest.xml
similarity index 100%
rename from benchmark/android/app/src/profile/AndroidManifest.xml
rename to example/benchmark/android/app/src/profile/AndroidManifest.xml
diff --git a/benchmark/android/build.gradle b/example/benchmark/android/build.gradle
similarity index 100%
rename from benchmark/android/build.gradle
rename to example/benchmark/android/build.gradle
diff --git a/benchmark/android/gradle.properties b/example/benchmark/android/gradle.properties
similarity index 100%
rename from benchmark/android/gradle.properties
rename to example/benchmark/android/gradle.properties
diff --git a/benchmark/android/gradle/wrapper/gradle-wrapper.properties b/example/benchmark/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from benchmark/android/gradle/wrapper/gradle-wrapper.properties
rename to example/benchmark/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/benchmark/android/settings.gradle b/example/benchmark/android/settings.gradle
similarity index 100%
rename from benchmark/android/settings.gradle
rename to example/benchmark/android/settings.gradle
diff --git a/benchmark/docker-compose.yml b/example/benchmark/docker-compose.yml
similarity index 100%
rename from benchmark/docker-compose.yml
rename to example/benchmark/docker-compose.yml
diff --git a/benchmark/firebase.json b/example/benchmark/firebase.json
similarity index 100%
rename from benchmark/firebase.json
rename to example/benchmark/firebase.json
diff --git a/benchmark/ios/.gitignore b/example/benchmark/ios/.gitignore
similarity index 100%
rename from benchmark/ios/.gitignore
rename to example/benchmark/ios/.gitignore
diff --git a/benchmark/ios/Flutter/AppFrameworkInfo.plist b/example/benchmark/ios/Flutter/AppFrameworkInfo.plist
similarity index 100%
rename from benchmark/ios/Flutter/AppFrameworkInfo.plist
rename to example/benchmark/ios/Flutter/AppFrameworkInfo.plist
diff --git a/benchmark/ios/Flutter/Debug.xcconfig b/example/benchmark/ios/Flutter/Debug.xcconfig
similarity index 100%
rename from benchmark/ios/Flutter/Debug.xcconfig
rename to example/benchmark/ios/Flutter/Debug.xcconfig
diff --git a/benchmark/ios/Flutter/Release.xcconfig b/example/benchmark/ios/Flutter/Release.xcconfig
similarity index 100%
rename from benchmark/ios/Flutter/Release.xcconfig
rename to example/benchmark/ios/Flutter/Release.xcconfig
diff --git a/benchmark/ios/Runner.xcodeproj/project.pbxproj b/example/benchmark/ios/Runner.xcodeproj/project.pbxproj
similarity index 100%
rename from benchmark/ios/Runner.xcodeproj/project.pbxproj
rename to example/benchmark/ios/Runner.xcodeproj/project.pbxproj
diff --git a/benchmark/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/example/benchmark/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from benchmark/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to example/benchmark/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/benchmark/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/benchmark/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from benchmark/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to example/benchmark/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/benchmark/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/benchmark/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
similarity index 100%
rename from benchmark/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
rename to example/benchmark/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
diff --git a/benchmark/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/benchmark/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
similarity index 100%
rename from benchmark/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
rename to example/benchmark/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
diff --git a/benchmark/ios/Runner.xcworkspace/contents.xcworkspacedata b/example/benchmark/ios/Runner.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from benchmark/ios/Runner.xcworkspace/contents.xcworkspacedata
rename to example/benchmark/ios/Runner.xcworkspace/contents.xcworkspacedata
diff --git a/benchmark/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/benchmark/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from benchmark/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to example/benchmark/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/benchmark/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/benchmark/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
similarity index 100%
rename from benchmark/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
rename to example/benchmark/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
diff --git a/benchmark/ios/Runner/AppDelegate.swift b/example/benchmark/ios/Runner/AppDelegate.swift
similarity index 100%
rename from benchmark/ios/Runner/AppDelegate.swift
rename to example/benchmark/ios/Runner/AppDelegate.swift
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
rename to example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
diff --git a/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
rename to example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
rename to example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
diff --git a/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
similarity index 100%
rename from benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
rename to example/benchmark/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
diff --git a/benchmark/ios/Runner/Base.lproj/LaunchScreen.storyboard b/example/benchmark/ios/Runner/Base.lproj/LaunchScreen.storyboard
similarity index 100%
rename from benchmark/ios/Runner/Base.lproj/LaunchScreen.storyboard
rename to example/benchmark/ios/Runner/Base.lproj/LaunchScreen.storyboard
diff --git a/benchmark/ios/Runner/Base.lproj/Main.storyboard b/example/benchmark/ios/Runner/Base.lproj/Main.storyboard
similarity index 100%
rename from benchmark/ios/Runner/Base.lproj/Main.storyboard
rename to example/benchmark/ios/Runner/Base.lproj/Main.storyboard
diff --git a/benchmark/ios/Runner/Info.plist b/example/benchmark/ios/Runner/Info.plist
similarity index 100%
rename from benchmark/ios/Runner/Info.plist
rename to example/benchmark/ios/Runner/Info.plist
diff --git a/benchmark/ios/Runner/Runner-Bridging-Header.h b/example/benchmark/ios/Runner/Runner-Bridging-Header.h
similarity index 100%
rename from benchmark/ios/Runner/Runner-Bridging-Header.h
rename to example/benchmark/ios/Runner/Runner-Bridging-Header.h
diff --git a/benchmark/ios/RunnerTests/RunnerTests.swift b/example/benchmark/ios/RunnerTests/RunnerTests.swift
similarity index 100%
rename from benchmark/ios/RunnerTests/RunnerTests.swift
rename to example/benchmark/ios/RunnerTests/RunnerTests.swift
diff --git a/benchmark/lib/main.dart b/example/benchmark/lib/main.dart
similarity index 100%
rename from benchmark/lib/main.dart
rename to example/benchmark/lib/main.dart
diff --git a/benchmark/lib/src/benchmark_app.dart b/example/benchmark/lib/src/benchmark_app.dart
similarity index 100%
rename from benchmark/lib/src/benchmark_app.dart
rename to example/benchmark/lib/src/benchmark_app.dart
diff --git a/benchmark/lib/src/benchmark_controller.dart b/example/benchmark/lib/src/benchmark_controller.dart
similarity index 100%
rename from benchmark/lib/src/benchmark_controller.dart
rename to example/benchmark/lib/src/benchmark_controller.dart
diff --git a/benchmark/lib/src/benchmark_tab.dart b/example/benchmark/lib/src/benchmark_tab.dart
similarity index 100%
rename from benchmark/lib/src/benchmark_tab.dart
rename to example/benchmark/lib/src/benchmark_tab.dart
diff --git a/benchmark/lib/src/constant.dart b/example/benchmark/lib/src/constant.dart
similarity index 100%
rename from benchmark/lib/src/constant.dart
rename to example/benchmark/lib/src/constant.dart
diff --git a/benchmark/lib/src/help_tab.dart b/example/benchmark/lib/src/help_tab.dart
similarity index 100%
rename from benchmark/lib/src/help_tab.dart
rename to example/benchmark/lib/src/help_tab.dart
diff --git a/benchmark/linux/.gitignore b/example/benchmark/linux/.gitignore
similarity index 100%
rename from benchmark/linux/.gitignore
rename to example/benchmark/linux/.gitignore
diff --git a/benchmark/linux/CMakeLists.txt b/example/benchmark/linux/CMakeLists.txt
similarity index 100%
rename from benchmark/linux/CMakeLists.txt
rename to example/benchmark/linux/CMakeLists.txt
diff --git a/benchmark/linux/flutter/CMakeLists.txt b/example/benchmark/linux/flutter/CMakeLists.txt
similarity index 100%
rename from benchmark/linux/flutter/CMakeLists.txt
rename to example/benchmark/linux/flutter/CMakeLists.txt
diff --git a/benchmark/linux/flutter/generated_plugin_registrant.cc b/example/benchmark/linux/flutter/generated_plugin_registrant.cc
similarity index 100%
rename from benchmark/linux/flutter/generated_plugin_registrant.cc
rename to example/benchmark/linux/flutter/generated_plugin_registrant.cc
diff --git a/benchmark/linux/flutter/generated_plugin_registrant.h b/example/benchmark/linux/flutter/generated_plugin_registrant.h
similarity index 100%
rename from benchmark/linux/flutter/generated_plugin_registrant.h
rename to example/benchmark/linux/flutter/generated_plugin_registrant.h
diff --git a/benchmark/linux/flutter/generated_plugins.cmake b/example/benchmark/linux/flutter/generated_plugins.cmake
similarity index 100%
rename from benchmark/linux/flutter/generated_plugins.cmake
rename to example/benchmark/linux/flutter/generated_plugins.cmake
diff --git a/benchmark/linux/main.cc b/example/benchmark/linux/main.cc
similarity index 100%
rename from benchmark/linux/main.cc
rename to example/benchmark/linux/main.cc
diff --git a/benchmark/linux/my_application.cc b/example/benchmark/linux/my_application.cc
similarity index 100%
rename from benchmark/linux/my_application.cc
rename to example/benchmark/linux/my_application.cc
diff --git a/benchmark/linux/my_application.h b/example/benchmark/linux/my_application.h
similarity index 100%
rename from benchmark/linux/my_application.h
rename to example/benchmark/linux/my_application.h
diff --git a/benchmark/macos/.gitignore b/example/benchmark/macos/.gitignore
similarity index 100%
rename from benchmark/macos/.gitignore
rename to example/benchmark/macos/.gitignore
diff --git a/benchmark/macos/Flutter/Flutter-Debug.xcconfig b/example/benchmark/macos/Flutter/Flutter-Debug.xcconfig
similarity index 100%
rename from benchmark/macos/Flutter/Flutter-Debug.xcconfig
rename to example/benchmark/macos/Flutter/Flutter-Debug.xcconfig
diff --git a/benchmark/macos/Flutter/Flutter-Release.xcconfig b/example/benchmark/macos/Flutter/Flutter-Release.xcconfig
similarity index 100%
rename from benchmark/macos/Flutter/Flutter-Release.xcconfig
rename to example/benchmark/macos/Flutter/Flutter-Release.xcconfig
diff --git a/benchmark/macos/Flutter/GeneratedPluginRegistrant.swift b/example/benchmark/macos/Flutter/GeneratedPluginRegistrant.swift
similarity index 100%
rename from benchmark/macos/Flutter/GeneratedPluginRegistrant.swift
rename to example/benchmark/macos/Flutter/GeneratedPluginRegistrant.swift
diff --git a/benchmark/macos/Runner.xcodeproj/project.pbxproj b/example/benchmark/macos/Runner.xcodeproj/project.pbxproj
similarity index 100%
rename from benchmark/macos/Runner.xcodeproj/project.pbxproj
rename to example/benchmark/macos/Runner.xcodeproj/project.pbxproj
diff --git a/benchmark/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/benchmark/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from benchmark/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to example/benchmark/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/benchmark/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/benchmark/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
similarity index 100%
rename from benchmark/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
rename to example/benchmark/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
diff --git a/benchmark/macos/Runner.xcworkspace/contents.xcworkspacedata b/example/benchmark/macos/Runner.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from benchmark/macos/Runner.xcworkspace/contents.xcworkspacedata
rename to example/benchmark/macos/Runner.xcworkspace/contents.xcworkspacedata
diff --git a/benchmark/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/benchmark/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from benchmark/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to example/benchmark/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/benchmark/macos/Runner/AppDelegate.swift b/example/benchmark/macos/Runner/AppDelegate.swift
similarity index 100%
rename from benchmark/macos/Runner/AppDelegate.swift
rename to example/benchmark/macos/Runner/AppDelegate.swift
diff --git a/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
similarity index 100%
rename from benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
rename to example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
diff --git a/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
similarity index 100%
rename from benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
rename to example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
diff --git a/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
similarity index 100%
rename from benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
rename to example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
diff --git a/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
similarity index 100%
rename from benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
rename to example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
diff --git a/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
similarity index 100%
rename from benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
rename to example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
diff --git a/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
similarity index 100%
rename from benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
rename to example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
diff --git a/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
similarity index 100%
rename from benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
rename to example/benchmark/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
diff --git a/benchmark/macos/Runner/Base.lproj/MainMenu.xib b/example/benchmark/macos/Runner/Base.lproj/MainMenu.xib
similarity index 100%
rename from benchmark/macos/Runner/Base.lproj/MainMenu.xib
rename to example/benchmark/macos/Runner/Base.lproj/MainMenu.xib
diff --git a/benchmark/macos/Runner/Configs/AppInfo.xcconfig b/example/benchmark/macos/Runner/Configs/AppInfo.xcconfig
similarity index 100%
rename from benchmark/macos/Runner/Configs/AppInfo.xcconfig
rename to example/benchmark/macos/Runner/Configs/AppInfo.xcconfig
diff --git a/benchmark/macos/Runner/Configs/Debug.xcconfig b/example/benchmark/macos/Runner/Configs/Debug.xcconfig
similarity index 100%
rename from benchmark/macos/Runner/Configs/Debug.xcconfig
rename to example/benchmark/macos/Runner/Configs/Debug.xcconfig
diff --git a/benchmark/macos/Runner/Configs/Release.xcconfig b/example/benchmark/macos/Runner/Configs/Release.xcconfig
similarity index 100%
rename from benchmark/macos/Runner/Configs/Release.xcconfig
rename to example/benchmark/macos/Runner/Configs/Release.xcconfig
diff --git a/benchmark/macos/Runner/Configs/Warnings.xcconfig b/example/benchmark/macos/Runner/Configs/Warnings.xcconfig
similarity index 100%
rename from benchmark/macos/Runner/Configs/Warnings.xcconfig
rename to example/benchmark/macos/Runner/Configs/Warnings.xcconfig
diff --git a/benchmark/macos/Runner/DebugProfile.entitlements b/example/benchmark/macos/Runner/DebugProfile.entitlements
similarity index 100%
rename from benchmark/macos/Runner/DebugProfile.entitlements
rename to example/benchmark/macos/Runner/DebugProfile.entitlements
diff --git a/benchmark/macos/Runner/Info.plist b/example/benchmark/macos/Runner/Info.plist
similarity index 100%
rename from benchmark/macos/Runner/Info.plist
rename to example/benchmark/macos/Runner/Info.plist
diff --git a/benchmark/macos/Runner/MainFlutterWindow.swift b/example/benchmark/macos/Runner/MainFlutterWindow.swift
similarity index 100%
rename from benchmark/macos/Runner/MainFlutterWindow.swift
rename to example/benchmark/macos/Runner/MainFlutterWindow.swift
diff --git a/benchmark/macos/Runner/Release.entitlements b/example/benchmark/macos/Runner/Release.entitlements
similarity index 100%
rename from benchmark/macos/Runner/Release.entitlements
rename to example/benchmark/macos/Runner/Release.entitlements
diff --git a/benchmark/macos/RunnerTests/RunnerTests.swift b/example/benchmark/macos/RunnerTests/RunnerTests.swift
similarity index 100%
rename from benchmark/macos/RunnerTests/RunnerTests.swift
rename to example/benchmark/macos/RunnerTests/RunnerTests.swift
diff --git a/benchmark/pubspec.yaml b/example/benchmark/pubspec.yaml
similarity index 88%
rename from benchmark/pubspec.yaml
rename to example/benchmark/pubspec.yaml
index 5e60e74..056cad2 100644
--- a/benchmark/pubspec.yaml
+++ b/example/benchmark/pubspec.yaml
@@ -6,7 +6,8 @@ publish_to: 'none'
 version: 1.0.0+1
 
 environment:
-  sdk: ^3.5.0
+  sdk: ^3.4.0
+  flutter: ^3.24.0
 
 dependencies:
   flutter:
@@ -18,7 +19,7 @@ dependencies:
   # Centrifuge clients
   centrifuge: ^0.14.0
   spinify:
-    path: ../
+    path: ../../
 
   # Utilities
   l: ^5.0.0-pre.2
diff --git a/benchmark/test/widget_test.dart b/example/benchmark/test/widget_test.dart
similarity index 100%
rename from benchmark/test/widget_test.dart
rename to example/benchmark/test/widget_test.dart
diff --git a/benchmark/web/favicon.png b/example/benchmark/web/favicon.png
similarity index 100%
rename from benchmark/web/favicon.png
rename to example/benchmark/web/favicon.png
diff --git a/benchmark/web/icons/Icon-192.png b/example/benchmark/web/icons/Icon-192.png
similarity index 100%
rename from benchmark/web/icons/Icon-192.png
rename to example/benchmark/web/icons/Icon-192.png
diff --git a/benchmark/web/icons/Icon-512.png b/example/benchmark/web/icons/Icon-512.png
similarity index 100%
rename from benchmark/web/icons/Icon-512.png
rename to example/benchmark/web/icons/Icon-512.png
diff --git a/benchmark/web/icons/Icon-maskable-192.png b/example/benchmark/web/icons/Icon-maskable-192.png
similarity index 100%
rename from benchmark/web/icons/Icon-maskable-192.png
rename to example/benchmark/web/icons/Icon-maskable-192.png
diff --git a/benchmark/web/icons/Icon-maskable-512.png b/example/benchmark/web/icons/Icon-maskable-512.png
similarity index 100%
rename from benchmark/web/icons/Icon-maskable-512.png
rename to example/benchmark/web/icons/Icon-maskable-512.png
diff --git a/benchmark/web/index.html b/example/benchmark/web/index.html
similarity index 100%
rename from benchmark/web/index.html
rename to example/benchmark/web/index.html
diff --git a/benchmark/web/manifest.json b/example/benchmark/web/manifest.json
similarity index 100%
rename from benchmark/web/manifest.json
rename to example/benchmark/web/manifest.json
diff --git a/benchmark/windows/.gitignore b/example/benchmark/windows/.gitignore
similarity index 100%
rename from benchmark/windows/.gitignore
rename to example/benchmark/windows/.gitignore
diff --git a/benchmark/windows/CMakeLists.txt b/example/benchmark/windows/CMakeLists.txt
similarity index 100%
rename from benchmark/windows/CMakeLists.txt
rename to example/benchmark/windows/CMakeLists.txt
diff --git a/benchmark/windows/flutter/CMakeLists.txt b/example/benchmark/windows/flutter/CMakeLists.txt
similarity index 100%
rename from benchmark/windows/flutter/CMakeLists.txt
rename to example/benchmark/windows/flutter/CMakeLists.txt
diff --git a/benchmark/windows/flutter/generated_plugin_registrant.cc b/example/benchmark/windows/flutter/generated_plugin_registrant.cc
similarity index 100%
rename from benchmark/windows/flutter/generated_plugin_registrant.cc
rename to example/benchmark/windows/flutter/generated_plugin_registrant.cc
diff --git a/benchmark/windows/flutter/generated_plugin_registrant.h b/example/benchmark/windows/flutter/generated_plugin_registrant.h
similarity index 100%
rename from benchmark/windows/flutter/generated_plugin_registrant.h
rename to example/benchmark/windows/flutter/generated_plugin_registrant.h
diff --git a/benchmark/windows/flutter/generated_plugins.cmake b/example/benchmark/windows/flutter/generated_plugins.cmake
similarity index 100%
rename from benchmark/windows/flutter/generated_plugins.cmake
rename to example/benchmark/windows/flutter/generated_plugins.cmake
diff --git a/benchmark/windows/runner/CMakeLists.txt b/example/benchmark/windows/runner/CMakeLists.txt
similarity index 100%
rename from benchmark/windows/runner/CMakeLists.txt
rename to example/benchmark/windows/runner/CMakeLists.txt
diff --git a/benchmark/windows/runner/Runner.rc b/example/benchmark/windows/runner/Runner.rc
similarity index 100%
rename from benchmark/windows/runner/Runner.rc
rename to example/benchmark/windows/runner/Runner.rc
diff --git a/benchmark/windows/runner/flutter_window.cpp b/example/benchmark/windows/runner/flutter_window.cpp
similarity index 100%
rename from benchmark/windows/runner/flutter_window.cpp
rename to example/benchmark/windows/runner/flutter_window.cpp
diff --git a/benchmark/windows/runner/flutter_window.h b/example/benchmark/windows/runner/flutter_window.h
similarity index 100%
rename from benchmark/windows/runner/flutter_window.h
rename to example/benchmark/windows/runner/flutter_window.h
diff --git a/benchmark/windows/runner/main.cpp b/example/benchmark/windows/runner/main.cpp
similarity index 100%
rename from benchmark/windows/runner/main.cpp
rename to example/benchmark/windows/runner/main.cpp
diff --git a/benchmark/windows/runner/resource.h b/example/benchmark/windows/runner/resource.h
similarity index 100%
rename from benchmark/windows/runner/resource.h
rename to example/benchmark/windows/runner/resource.h
diff --git a/benchmark/windows/runner/resources/app_icon.ico b/example/benchmark/windows/runner/resources/app_icon.ico
similarity index 100%
rename from benchmark/windows/runner/resources/app_icon.ico
rename to example/benchmark/windows/runner/resources/app_icon.ico
diff --git a/benchmark/windows/runner/runner.exe.manifest b/example/benchmark/windows/runner/runner.exe.manifest
similarity index 100%
rename from benchmark/windows/runner/runner.exe.manifest
rename to example/benchmark/windows/runner/runner.exe.manifest
diff --git a/benchmark/windows/runner/utils.cpp b/example/benchmark/windows/runner/utils.cpp
similarity index 100%
rename from benchmark/windows/runner/utils.cpp
rename to example/benchmark/windows/runner/utils.cpp
diff --git a/benchmark/windows/runner/utils.h b/example/benchmark/windows/runner/utils.h
similarity index 100%
rename from benchmark/windows/runner/utils.h
rename to example/benchmark/windows/runner/utils.h
diff --git a/benchmark/windows/runner/win32_window.cpp b/example/benchmark/windows/runner/win32_window.cpp
similarity index 100%
rename from benchmark/windows/runner/win32_window.cpp
rename to example/benchmark/windows/runner/win32_window.cpp
diff --git a/benchmark/windows/runner/win32_window.h b/example/benchmark/windows/runner/win32_window.h
similarity index 100%
rename from benchmark/windows/runner/win32_window.h
rename to example/benchmark/windows/runner/win32_window.h
diff --git a/example/main.dart b/example/echo/main.dart
similarity index 100%
rename from example/main.dart
rename to example/echo/main.dart
diff --git a/lib/src/model/pubspec.yaml.g.dart b/lib/src/model/pubspec.yaml.g.dart
index 148c1b3..241cb2f 100644
--- a/lib/src/model/pubspec.yaml.g.dart
+++ b/lib/src/model/pubspec.yaml.g.dart
@@ -93,13 +93,13 @@ sealed class Pubspec {
   static const PubspecVersion version = (
     /// Non-canonical string representation of the version as provided
     /// in the pubspec.yaml file.
-    representation: r'0.0.2',
+    representation: r'0.0.3',
 
     /// Returns a 'canonicalized' representation
     /// of the application version.
     /// This represents the version string in accordance with
     /// Semantic Versioning (SemVer) standards.
-    canonical: r'0.0.2',
+    canonical: r'0.0.3',
 
     /// MAJOR version when you make incompatible API changes.
     /// The major version number: 1 in "1.2.3".
@@ -112,7 +112,7 @@ sealed class Pubspec {
 
     /// PATCH version when you make backward compatible bug fixes.
     /// The patch version number: 3 in "1.2.3".
-    patch: 2,
+    patch: 3,
 
     /// The pre-release identifier: "foo" in "1.2.3-foo".
     preRelease: <String>[],
@@ -125,12 +125,12 @@ sealed class Pubspec {
   static final DateTime timestamp = DateTime.utc(
     2024,
     8,
-    18,
-    6,
-    33,
-    36,
-    43,
-    85,
+    21,
+    23,
+    58,
+    0,
+    218,
+    35,
   );
 
   /// Name
diff --git a/pubspec.yaml b/pubspec.yaml
index fdb7b95..82bfc3f 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -4,7 +4,7 @@ description: >
   Dart client to communicate with Centrifuge and Centrifugo from Dart and Flutter
   over WebSockets with Protobuf support.
 
-version: 0.0.2
+version: 0.0.3
 
 homepage: https://centrifugal.dev