def updateTank(self, tank): fraction = tank.get('fraction') if not ObjectFactory.updateTank(tank): movingHandler = MovingHandlersFactory.getInstance(fraction) newTank = TankFactory.getInstance(tank) newTank.do(movingHandler()) LayoutFactory.addTank(newTank, fraction) ObjectFactory.addTank(newTank, fraction)