Abstract resultsWithArgs
_remove now doesn't affect parent's children #bug

This is kinda hacky, but it works, and cleans up other code