move placeholder isPressed impl to header