Rio component framework