Add settings functionality to seperate package to allow easy extraction in future