pull down to refresh

Question for the people knowledgable of the bitcoin client code.
The rules state that a block timestamp must be greater than the midian of the last 15 blocks, but not greater than network-adjusted time plus 2 hours.

How easy would be to add a small modification as follows. If the node receives otherwise valid block, but with timestamp that is greater than the local machine time, the block is held until the local clock time reaches the blocks timestamp. That means that the node behaves as if it hasn't received the block initially. When the local clock reaches the block timestamp, it behaves as if the block was just received - utxo set updated, block propagated to peers, etc.
How easy would something like this to be implemented given the current codebase?