Switch build method signature to have optional options and required callback, fix tests