the POST method never ever worked because it has to be implemented differently from the GET method.  That's reason enough to separate them.

Also the interface is much cleaner when all you have to call is executePostUrl() instead of executeUrl('POST')  no need to passing in the same thing for everybody. It's a constant.