On the topic of mod support, I think C3 is excellent for this as it stands, but I do wonder if there could be just a few bits extra (I say "just a few bits", but probably enormous work behind adding such things), probably need to add a suggestion.
Exposing extra bits to allow things such as, adding/removing animation frames, adding animations, adding/removing/setting/getting the collision polygon, setting origin point x and y, adding image points.
Also keeping consistency with all objects, so SpriteFont could use Load from URL and allow more exposure to other parts of SpriteFont via events so we can essentially have fully-customised fonts. Particle object could benefit from Load from URL too, whilst we do have sprite option for particles, we lose the performance gains by doing this.
One extremely important addition would be having the option to load unique images for a sprite, perhaps a good method could be having a new action like "use image set" and then pass a name, so then we could have hundreds of externally-loaded objects into the game without having to workaround everything or have 100 empty sprites to load images into. I don't see this as straightforward, as, if you had more frames for a mod, then how to determine this with a "use image set" action... Maybe a "Mimic image data from other sprite" action... Who knows, there's probably a good idea here somewhere.
This can all be technically worked around but it's an enormous amount of work that doesn't utilise C3's excellent tools such as the animation system and image points and such (e.g. You can make your own origin point system via events and such even with rotation around the image point, can use collision polygon from a mesh although very tricky since you can't have a mesh with just an "outline" of points).