Use adapter components and features to replace Enabled check functions
This MR is based on !529 (merged) and must not be merged before it
This MR is one of the pieces for breaking down !521 (closed).
It also removes *Enabled
functions (and their associated constants) and uses the WantsComponent
and WantsFeature
functions of Adapter
instead.
Required adjustments are made to the test cases to pass.
Closes #430 (closed)