Changed pressItem() to use polymorphic calls