@trustin not sure if its better to decrement here or after invokeWrite was called. WDYT ?