I don't see any level of abstraction around database. This causes problems with unit testing... I would like to introduce simple interface around Repository class and IoC container for automatic injecting. What do you think?