made Component.name private with getter/setter + added empty constructor