This probably wants to just be a `Function`?