* extracted FunctionGateway interface * renamed current implementation to LocalFunctionGateway * moved `compose` methods from FunctionGateway to FunctionRegistry
* extracted FunctionGateway interface * renamed current implementation to LocalFunctionGateway * moved `compose` methods from FunctionGateway to FunctionRegistry