Я думаю не совсем верно вопрос задан.
Если Вы хотите именно добавлять и удалять методы на объекте, то Вам нужны делегаты. Сделаете поле у карты типа делегата, который объявите и потом этому полю меняйте методы, либо обнуляйте на метод, который ничего не делает. Можете взять готовые типы делегатов
тут.
Если же Вам надо, чтобы объект просто делал или не делал один заранее определенный метод, то делаете у объекта буловский флаг и метод, который будет этот флаг переключать. А внутри нужного метода, сначала проверяете состояние этого флага, прежде чем что-то сделать. Этот вариант Вам показали постами выше.