allow a click callback to be passed as an option, refactor options so custom css can be passed as an object