Trivial reordering of protocol definition

Put IComponent at top. Still needs docstring...