Replaced AbstractPanel with interfaces