enforce that components do not have member functions