callback should be optional for all mutators
bump