[WIP] Started refactoring of InputElement