Cocos2d (at least when I was using it) engendered some really bad anti-patterns in regards to memory management and architecture. MBTileParser doesn't just offer a way to show graphics onscreen, but it considers the MVC architecture in a way that cocos2d doesn't. (When I started, cocos2d was somewhere between 0.9 and 1.1. The state of the engine has very likely improved since, but that's why I wrote this.) Cocos2d didn't even support ARC back then.