Splits MetaMethod into an public interface with a reduced set of methods, especially removing the implementation methods, and adds a default implementation in an internal marked package