move options and change options callbacks outside of objects for dry