Consider using a decorator to inject `network` and `source_account`. This would remove boilerplate code to load configs. The public API can then just accept `NetworkConfig` and `Identity` instances while the wrapper would do the necessary conversions.