Refactor #decendants methods.

Refactored #decendants methods to make use of #reject and #select rather than explicitly creating, populating, and returning an Array.