widget controller receives settings as an object