Component based Ruby web framework