Add abstract class Tower and remove interface ITower