pulled util classes out, changed from ServiceManager to Container, added annotation support