Simplified agents initialization
Added ability to pass arguments to agent constructor