Remove unused files.
Heavy refactor.

Code is more DRY and infers configuration from data payload.