Separated server-side components from the rest of the client-side app

... hopefully the server-side will disappear as the code evolves not to
require it