Right now, page deletion is done in MojoMojo::Controller::Admin::delete(). This checks permissions (a legacy operation since the time the method was located in PageAdmin), and depends on $c for that.
However, there are use cases for deleting pages from outside Catalyst (spam removal, for instance), and the delete_page.pl script currently reinvents a poor man's version of page deletion.
The controller method should wrap over a method in the Model that would do the real deletion according to issue #44.
Prepare work on issue #87: move page deletion to the model