Refactor and simplify self* and find* methods