> You'd still need to specify a starting location. The idea is to use spritesheets which might contain multiple animations.

You're right! Sorry I forgot that you must specify a starting position!
**Note:** I think that this offset (x, y) should be __expressed in pixels__ from the top-left corner of the sprite as usual, not in `tile` times and `tileh` times as it's now.

Also the `duration` could be specified when you start the animation.

To summarize the in my opinion the correct arguments list should comprehend:

* `reelId`
* `offsetX`
* `offsetY`
* `numberOfFrames`
* `tileSize` (optional)

> The tilesize is already defined on that sprite. What would be the advantage of specifying it here, given that it isn't optional on the sprite component?

Yes, you could specify tile size at sprite definition, but this would prevent you from using sprites with different tiles size in the same component. This is also the reason why I think that specify tile size at sprite definition less useful than specify it at reel creation.

**Note:** I'm not sure about this idea of having reels with tiles of different sizes for the same component as it would add a lot of complexity to handle component size updates.

> You want to be able to specify arbitrary sequences of frames, so how else could you do it?

Why would you want to specify arbitrary sequences of frames? This could be achieved by building a spritesheet following specific rules.
I think this is useless and it adds unnecessary complexity, let's **keep it simple**.