Index: flowtimer/Phase.py
===================================================================
--- flowtimer/Phase.py	(revision daa22762d0f497f098e4974c25488ee08af22cd4)
+++ flowtimer/Phase.py	(revision 44c337701311c1dd868ee8d916af3ba359cd0b64)
@@ -21,6 +21,18 @@
         self.title = title
         self.initial_ticks = ticks
-        self.state = "initial"
-        self.ticks_left = ticks
+        self._state = "initial"
+        self._ticks_left = ticks
+
+    @property
+    def initial_repetitions(self):
+        return 1
+
+    @property
+    def state(self):
+        return self._state
+
+    @property
+    def ticks_left(self):
+        return self._ticks_left
 
     def to_json(self):
@@ -36,36 +48,36 @@
 
         return ("-->" + self.title + "\nTicks left=" +
-                str(self.ticks_left) + "\n" + str(self.state) + "\n")
+                str(self._ticks_left) + "\n" + str(self._state) + "\n")
 
     def abort(self):
-        self.state = "finished"
+        self._state = "finished"
 
     def start(self):
-        self.state = "running"
+        self._state = "running"
 
     def reset(self):
-        self.ticks_left = self.initial_ticks
-        self.state = "initial"
+        self._ticks_left = self.initial_ticks
+        self._state = "initial"
 
     def pause(self):
-        self.state = "paused"
+        self._state = "paused"
 
     def running(self):
-        return self.state == "running"
+        return self._state == "running"
         # return self.time_left > 0
 
     def finished(self):
-        return self.state == "finished"
+        return self._state == "finished"
 
     def paused(self):
-        return self.state == "paused"
+        return self._state == "paused"
 
     def tick(self, ticks):
-        result = self.ticks_left - ticks
+        result = self._ticks_left - ticks
 
         if result <= 0:
-            self.ticks_left = 0
-            self.state = "finished"
+            self._ticks_left = 0
+            self._state = "finished"
         else:
-            self.ticks_left = result
+            self._ticks_left = result
         return result
Index: flowtimer/RecurringPhaseSequence.py
===================================================================
--- flowtimer/RecurringPhaseSequence.py	(revision daa22762d0f497f098e4974c25488ee08af22cd4)
+++ flowtimer/RecurringPhaseSequence.py	(revision 44c337701311c1dd868ee8d916af3ba359cd0b64)
@@ -39,4 +39,7 @@
     def to_json(self):
         return json.dumps(self.__dict__, default=lambda each: each.to_json())
+
+    def title(self):
+        return self.current_phase.title
 
     def current_phase_number(self):
