-record(aggregate_config, { initial_state :: any(), command_handler :: fun((any(), any()) -> {ok, list(any())} | {error, binary()}), event_handler :: fun((any(), signal:event(any())) -> any()) }).