Currently, each of the mentioned eclasses has its own *_BUILD_DIR. Therefore, if someone needs to provide a custom BUILD_DIR, he needs to set it explicitly for the eclass. This is fine for ebuilds but not really neat for eclasses.
The idea is simple: use a common BUILD_DIR instead. For compatibility, export AUTOTOOLS_ & CMAKE_BUILD_DIR as well but prefer the former one. For most of the ebuilds this won't make a difference. I'm attaching an example conversion of pygobject where this would benefit. The idea is quite simple; ebuild calls python_foreach_impl autotools-utils_src_... python_foreach_impl() sets BUILD_DIR for each implementation, autotools-utils phases use that and everything simply works!