Move some more responsibilities to MarginCore