Make use of overloaded methods
Make BillingSystem accept other objects that implement the two interfaces

 - Namely CustomerDatabase and TariffLibary interfaces
 - To allow tests to mock the database
Make use of class member
Merge pull request #2 from rmbennett/original-refactor-ii

More Refactor