Add coalesce filtering

@Ocramius that was the idea
This is a rather big change, I'll delay that for later. In a LOT of places we always reconstruct the Resource each time data is changed. This is likely a big change we'll need to discuss.