diff --git a/src/aura_engine/base/lang.py b/src/aura_engine/base/lang.py
index 8f6f043e9456dc2b5dc8915cf705c0db7ef2165c..4e8188cd6841cd780213da6d309e96eb86d411f2 100644
--- a/src/aura_engine/base/lang.py
+++ b/src/aura_engine/base/lang.py
@@ -18,16 +18,40 @@
 
 
 """
-A collection of Python meta-programming and language utilities.
+A collection of meta-programming and language utilities.
 """
 
 import inspect
 from functools import wraps
+from multiprocessing import Lock
+
+
+def synchronized(member):
+    """
+    @synchronized decorator.
+
+    Lock a method for synchronized access only.
+    """
+    mutex = Lock()
+
+    @wraps(member)
+    def wrapper(*args, **vargs):
+        result = ""
+        try:
+            mutex.acquire()
+            result = member(*args, **vargs)
+            mutex.release()
+        except Exception as e:
+            mutex.release()
+            raise e
+        return result
+
+    return wrapper
 
 
 def private(member):
     """
-    @private Decorator.
+    @private decorator.
 
     Use this to annotate your methods for private-visibility.
 
@@ -35,7 +59,7 @@ def private(member):
     """
 
     @wraps(member)
-    def wrapper(*args):
+    def wrapper(*args, **vargs):
         me = member.__name__
         stack = inspect.stack()
         calling_class = stack[1][0].f_locals["self"].__class__.__name__
@@ -44,7 +68,7 @@ def private(member):
             msg = f'"{me}(..)" called by "{calling_class}.{calling_method}(..)" is private'
             print(msg)
             raise Exception(msg)
-        return member(*args)
+        return member(*args, **vargs)
 
     return wrapper