add the ability to track other products than FFOS
factor out all configuration state
factor out configuration and data model into objects instead of individual variables