ComponentJS compatible