classes now accept options as a map instead of an options object