Make promotion/demotion methods return the affected object