Object-oriented refactor and new invoice style