Code samples for my blog post "Decoupling Repository Objects"