ideapanel and some minor (but global) refactoring for API consistencies