I don't see your implementation generating this directly.  Does some method you call propagate this up somehow?  Also, you clarify that this should work even for a faked block change in which case I'm assuming the server would not recognize the location as a sign and would seem to conflict in concept?