We explicitly got a ProcessInput wrapper, so in this case we know that we're supposed to be holding a ProcessInput plugin. If we change to using a ProcessDirectoryInput we can be in the same package as the ProcessInput so we can cheat and use a type assertion to a ProcessInput struct and we won't need to do any of the interface checks that are following this.