changed canLand method to field with event callback