Bug 1072757 - Implement SettingsCore

Just wanted to make sure the purpose of wrapping the callback function in `context` here. And maybe it should also accept a function?