Adding ElementType model
Refactoring ElementControl