Refactor for DRY and delegates powah