Add license headers to all files
Minor amends
Merge remote-tracking branch 'origin/licenses-sp' into develop
Refactored to use an adapter factory