First Cut at Basic generic controller exposed to JavaScript interface in client