Refactoring methods, trait references

These are a number of incremental steps towards #4183 and #4646.