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