protected function _generateArgs( $args, $definitions, &$callbacks = array() ) {
		foreach ( $definitions as $field => $generator ) {
			if ( isset( $args[ $field ] ) ) {
				continue;
			}

			if ( is_scalar( $generator ) ) {
				$args[ $field ] = $generator;
			} elseif ( $generator instanceof AfterCreateCallback ) {
				$callbacks[ $field ] = $generator;
			} elseif ( $generator instanceof Sequence ) {
				$args[ $field ] = $generator->next();
			} else {
				return new \WP_Error( 'invalid_argument', 'Factory default value should be either a scalar or an generator object.' );
			}
		}

		return $args;
	}