diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -19,10 +19,14 @@ function RenderRegion(fullWidth, fullHeight, x, y, w, h) {
 	var onChangeSignal = new Signal();
 
 	var _this = this;
-	function update() {
+	function update(optionalSpecificCallback) {
 		_isFullscreen = _x === 0 && _y === 0 && _w == _fullWidth && _h == _fullHeight;
 		_this.apply = (_state && !_isFullscreen) ? applyCrop : applyFull;
-		onChangeSignal.dispatch(_x, _y, _w, _h);
+		if(optionalSpecificCallback) {
+			onChangeSignal.dispatch(_x, _y, _w, _h);
+		} else {
+			optionalSpecificCallback(_x, _y, _w, _h);
+		}
 	}
 
 	function applyCrop(renderer, actuallyApply) {
option to only bump a specific callback for optimization