videostore refactoring example from Uncle Bob.