Refactor / cleaup.
Refactor / cleaup.
Load source lazily.
Don't reload source unnecessarily.