AccessControl::NO_ACCESS_RESTRICTION ); function __construct($data) { $this->data = $data; } function confirm() { $subscription = $this->initSubscriptionPage(UserSubscription\Pages::ACTION_CONFIRM); $subscription->confirm(); } function manage() { $subscription = $this->initSubscriptionPage(UserSubscription\Pages::ACTION_MANAGE); } function unsubscribe() { $subscription = $this->initSubscriptionPage(UserSubscription\Pages::ACTION_UNSUBSCRIBE); $subscription->unsubscribe(); } private function initSubscriptionPage($action) { return new UserSubscription\Pages($action, $this->data, true, true); } }