As this will result in API changing changes, I'm in doubt if this should really be included in the 3.0.x line.
most of this is implemented at the branch
Fix for trunk:
Date: 2014-02-18 (Tue, 18 Feb 2014)
Date: 2014-03-30 (Sun, 30 Mar 2014)