Rebuilt configuration to be dynamic and uses JSON as a data store.
Cleaned up requirements.