Added necessary properties for strings before references are made.
Abstracted some logic into separate methods. Made interfaces for data.
Added todo list for pending work.
Code cleanup and fixes.
Fixed formatting on sample data.