Refactor around the macro definitions into 3 files. Both converter and s...

...etter support Options
Well the counter would need to be passed around as an external state or be a global var. Neither seemed too appealing. I've seen some references to a fresh function... so i was planning to look into seeing if it can cover this use case