Only check job exists if writing.

Reorganized build order.
Fixed function naming. Removed duplicate.
Added documentation for methods.