... And now that I think of it, rather than writing a stand-alone OO module "Math::Brent::OO" as suggested above, it probably would make more sense to write a sub-class of Math::Polynomial. There's even instructions on how to do it.
So for the sake of the Math::Brent users, just fix the bugs there, and create separately Math::Polynomial::Brent, with methods find_minima(), bracket_minimum(), brent(), and minimise_1d() (yeah, I de-camelcased the function names).
If it sounds like I'm dumping work on you, I'd be happy to help out and write code. Let me know via email@example.com.