diff --git a/android/gradle.properties b/android/gradle.properties
index 5a36ab8c92338284725018aa8f109700499c74fd..2aa2a7ba9299223d13e7b0c4ff3bd3f735ebca5e 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
 org.gradle.jvmargs=-Xmx1536M
 android.useAndroidX=true
 android.enableJetifier=true
-app.versionName=1.0.24
-app.versionCode=25
+app.versionName=1.0.25
+app.versionCode=26
diff --git a/lib/activities/ActivityDemoPage.dart b/lib/activities/ActivityDemoPage.dart
index d6c1dba48e3c98c612b14195dda0f4dfc02fb970..24cf707073e59dea7e6b774598cfd77034d8df82 100644
--- a/lib/activities/ActivityDemoPage.dart
+++ b/lib/activities/ActivityDemoPage.dart
@@ -1,5 +1,9 @@
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+import 'package:ionicons/ionicons.dart';
+import 'package:random/config/theme.dart';
+import 'package:random/cubit/data_cubit.dart';
 
 class ActivityDemoPage extends StatelessWidget {
   const ActivityDemoPage({super.key});
@@ -21,7 +25,9 @@ class ActivityDemoPage extends StatelessWidget {
                 mainAxisSize: MainAxisSize.max,
                 children: <Widget>[
                   Text('TOP').tr(),
-                  SizedBox(height: 2),
+                  SizedBox(height: 20),
+                  persistedCounterBlock(),
+                  SizedBox(height: 20),
                   Text('BOTTOM').tr(),
                 ],
               ),
@@ -31,4 +37,40 @@ class ActivityDemoPage extends StatelessWidget {
       ),
     );
   }
+
+  Widget persistedCounterBlock() {
+    return BlocProvider<DataCubit>(
+      create: (BuildContext context) => DataCubit(),
+      child: BlocBuilder<DataCubit, DataState>(
+        builder: (BuildContext context, DataState state) {
+          void updateCounter(int delta) {
+            BlocProvider.of<DataCubit>(context).getData(
+              DataState(counter: (state.counter ?? 0) + delta),
+            );
+          }
+
+          return Row(
+            mainAxisAlignment: MainAxisAlignment.center,
+            crossAxisAlignment: CrossAxisAlignment.center,
+            children: [
+              IconButton(
+                icon: Icon(Ionicons.arrow_down),
+                color: appTheme.primaryColor,
+                onPressed: () => updateCounter(-1),
+              ),
+              Padding(
+                padding: EdgeInsets.all(10),
+                child: Text(state.counter.toString()),
+              ),
+              IconButton(
+                icon: Icon(Ionicons.arrow_up),
+                color: appTheme.primaryColor,
+                onPressed: () => updateCounter(1),
+              ),
+            ],
+          );
+        },
+      ),
+    );
+  }
 }
diff --git a/lib/cubit/data_cubit.dart b/lib/cubit/data_cubit.dart
new file mode 100644
index 0000000000000000000000000000000000000000..05335fb9762255ef65e22dda15880eca384d2de4
--- /dev/null
+++ b/lib/cubit/data_cubit.dart
@@ -0,0 +1,29 @@
+import 'package:equatable/equatable.dart';
+import 'package:flutter/material.dart';
+import 'package:hydrated_bloc/hydrated_bloc.dart';
+
+part 'data_state.dart';
+
+class DataCubit extends HydratedCubit<DataState> {
+  DataCubit() : super(const DataState());
+
+  void getData(DataState state) {
+    emit(state);
+  }
+
+  @override
+  DataState? fromJson(Map<String, dynamic> json) {
+    int counter = json['counter'] as int;
+
+    return DataState(
+      counter: counter,
+    );
+  }
+
+  @override
+  Map<String, int>? toJson(DataState state) {
+    return <String, int>{
+      'counter': state.counter ?? 0,
+    };
+  }
+}
diff --git a/lib/cubit/data_state.dart b/lib/cubit/data_state.dart
new file mode 100644
index 0000000000000000000000000000000000000000..c1ad76e14ddb21367608447f5c7d63a628c3adec
--- /dev/null
+++ b/lib/cubit/data_state.dart
@@ -0,0 +1,15 @@
+part of 'data_cubit.dart';
+
+@immutable
+class DataState extends Equatable {
+  const DataState({
+    this.counter,
+  });
+
+  final int? counter;
+
+  @override
+  List<Object?> get props => <Object?>[
+        counter,
+      ];
+}
diff --git a/lib/ui/screens/about_page.dart b/lib/ui/screens/about_page.dart
index 5c6a6477efb6e7484649a8cb8b226773d87d1a38..9ad2fcfe02ce9129c8489e9bcec904a7c3095afa 100644
--- a/lib/ui/screens/about_page.dart
+++ b/lib/ui/screens/about_page.dart
@@ -11,6 +11,7 @@ class AboutPage extends StatelessWidget {
       crossAxisAlignment: CrossAxisAlignment.start,
       mainAxisSize: MainAxisSize.max,
       children: <Widget>[
+        SizedBox(height: 50),
         Text(
           'about_title',
           textAlign: TextAlign.start,
diff --git a/pubspec.lock b/pubspec.lock
index f0fbed261d7a349b9ff0b9b06f6d07d6b08137f8..814ae8dc78a2e43816019f755a174bd6a6549363 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -65,6 +65,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "0.0.2"
+  equatable:
+    dependency: "direct main"
+    description:
+      name: equatable
+      sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.0.5"
   ffi:
     dependency: transitive
     description:
diff --git a/pubspec.yaml b/pubspec.yaml
index f779334e1c421c1ae576fca2565b2a4585802584..8afde1c436f9b90abf159446c23b4d562ad1f333 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: A random application, for testing purpose only.
 
 publish_to: 'none'
 
-version: 1.0.24+25
+version: 1.0.25+26
 
 environment:
   sdk: '^3.0.0'
@@ -13,6 +13,7 @@ dependencies:
     sdk: flutter
 
   easy_localization: ^3.0.1
+  equatable: ^2.0.5
   flutter_bloc: ^8.1.1
   path_provider: ^2.0.11
   hydrated_bloc: ^9.0.0