scene: preliminary version of lightweight Component class