First pass refactor.  Split extract_cents out into a few models.