Refactor ElementsCollection interface -> abstract class