What would happen if you split the tick interval to three 30 second intervals, where during the first interval new orders are collected in private, the second serves as a 30 second waiting period, and at the third all previously private orders and matches/trades are made public and broadcast?
So collect (30s) -> wait (30s) -> broadcast (30s) -> collect...