move most undefined methods to the base of fast-ring.
replace friends with PIMPL.