Added item architecture

Also changed character class to abstract