Relax preview() to allow preview directly from source
Remove check that the element must be div for generating preview
Use dependency injection for request object