a module that can be mixed into any object would be nice, but i think we should limit the scope of this PR to just setting as we only need it there at the moment.