Refactoring - getting ready to implement strategy pattern