signature: refactor - move capture parameters into separate struct, parse params in dedicated function, add functions for external calls