Simplified return types.
Removed singleton. Anti-pattern, nothing good will come from it.