This looks a lot like the `_extract` method. Could you re-use that somehow by using an array callable?