phuby proc object pseudo-code